SpringMVC+MySQL实例详解
SpringMVC是一种基于Java的Web框架,它可以帮助我们快速开发Web应用程序。在SpringMVC中,我们可以使用MySQL数据库来存储和管理数据。本文将详细讲解SpringMVC+MySQL实例的攻略,并提供两个示例说明。
SpringMVC+MySQL实例的实现步骤
在SpringMVC中,我们可以使用MySQL数据库来存储和管理数据。下面是一个SpringMVC+MySQL实例的实现步骤:
步骤一:添加依赖
首先,我们需要在项目中添加SpringMVC和MySQL的依赖。可以通过以下方式添加:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.3.8</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.25</version>
</dependency>
步骤二:配置数据源
在SpringMVC中,我们需要配置数据源来连接MySQL数据库。下面是一个配置数据源的示例:
@Configuration
public class AppConfig {
@Bean
public DataSource dataSource() {
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
dataSource.setUrl("jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC");
dataSource.setUsername("root");
dataSource.setPassword("password");
return dataSource;
}
}
在上面的示例中,我们定义了一个名为AppConfig的配置类,并使用@Bean注解将其标记为Spring的Bean。我们使用dataSource方法来配置数据源,并使用DriverManagerDataSource对象来封装MySQL的数据源。
步骤三:创建实体类
在SpringMVC中,我们需要创建实体类来映射MySQL数据库中的表。下面是一个实体类的示例:
public class User {
private Long id;
private String name;
private Integer age;
// getter and setter methods
}
在上面的示例中,我们定义了一个名为User的实体类,并添加了三个属性:id、name和age。
步骤四:创建DAO接口和实现类
在SpringMVC中,我们需要创建DAO接口和实现类来操作MySQL数据库。下面是一个DAO接口和实现类的示例:
public interface UserDao {
void save(User user);
void update(User user);
void delete(Long id);
User findById(Long id);
List<User> findAll();
}
@Repository
public class UserDaoImpl implements UserDao {
@Autowired
private JdbcTemplate jdbcTemplate;
@Override
public void save(User user) {
String sql = "INSERT INTO user(name, age) VALUES(?, ?)";
jdbcTemplate.update(sql, user.getName(), user.getAge());
}
@Override
public void update(User user) {
String sql = "UPDATE user SET name=?, age=? WHERE id=?";
jdbcTemplate.update(sql, user.getName(), user.getAge(), user.getId());
}
@Override
public void delete(Long id) {
String sql = "DELETE FROM user WHERE id=?";
jdbcTemplate.update(sql, id);
}
@Override
public User findById(Long id) {
String sql = "SELECT * FROM user WHERE id=?";
return jdbcTemplate.queryForObject(sql, new Object[]{id}, new BeanPropertyRowMapper<>(User.class));
}
@Override
public List<User> findAll() {
String sql = "SELECT * FROM user";
return jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(User.class));
}
}
在上面的示例中,我们定义了一个名为UserDao的DAO接口,并添加了五个方法:save、update、delete、findById和findAll。我们还定义了一个名为UserDaoImpl的DAO实现类,并使用@Repository注解将其标记为Spring的Bean。我们使用JdbcTemplate对象来操作MySQL数据库。
步骤五:创建控制器类
在SpringMVC中,我们需要创建控制器类来处理HTTP请求。下面是一个控制器类的示例:
@Controller
public class UserController {
@Autowired
private UserDao userDao;
@GetMapping("/user")
public String list(Model model) {
List<User> users = userDao.findAll();
model.addAttribute("users", users);
return "user/list";
}
@GetMapping("/user/add")
public String add(Model model) {
model.addAttribute("user", new User());
return "user/add";
}
@PostMapping("/user/save")
public String save(User user) {
userDao.save(user);
return "redirect:/user";
}
@GetMapping("/user/edit/{id}")
public String edit(@PathVariable Long id, Model model) {
User user = userDao.findById(id);
model.addAttribute("user", user);
return "user/edit";
}
@PostMapping("/user/update")
public String update(User user) {
userDao.update(user);
return "redirect:/user";
}
@GetMapping("/user/delete/{id}")
public String delete(@PathVariable Long id) {
userDao.delete(id);
return "redirect:/user";
}
}
在上面的示例中,我们定义了一个名为UserController的控制器类,并使用@Controller注解将其标记为SpringMVC的控制器。我们使用@Autowired注解来注入UserDao对象,并使用@GetMapping和@PostMapping注解来处理HTTP请求。我们还使用Model对象来传递数据,并使用redirect关键字来重定向页面。
示例
以下是两个示例演示如何使用SpringMVC+MySQL实例:
示例一
-
创建一个名为springmvc-mysql的Maven项目。
-
添加SpringMVC和MySQL的依赖。
-
创建一个名为User的实体类,并添加三个属性:id、name和age。
-
创建一个名为UserDao的DAO接口,并添加五个方法:save、update、delete、findById和findAll。
-
创建一个名为UserDaoImpl的DAO实现类,并使用@Repository注解将其标记为Spring的Bean。
-
创建一个名为UserController的控制器类,并使用@Controller注解将其标记为SpringMVC的控制器。
-
配置数据源。
-
打包项目并部署到Tomcat服务器上。
-
使用浏览器访问http://localhost:8080/springmvc-mysql/user,查看页面输出。
示例二
-
创建一个名为springmvc-mysql的Maven项目。
-
添加SpringMVC和MySQL的依赖。
-
创建一个名为User的实体类,并添加三个属性:id、name和age。
-
创建一个名为UserDao的DAO接口,并添加五个方法:save、update、delete、findById和findAll。
-
创建一个名为UserDaoImpl的DAO实现类,并使用@Repository注解将其标记为Spring的Bean。
-
创建一个名为UserController的控制器类,并使用@Controller注解将其标记为SpringMVC的控制器。
-
配置数据源。
-
使用Spring Boot打包项目。
-
将打包后的jar包上传到服务器。
-
在服务器上运行jar包。
-
使用浏览器访问http://服务器IP地址:8080/user,查看页面输出。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringMVC+Mysql实例详解(附demo) - Python技术站