以下是关于“Spring MVC实现MySQL数据库增删改查完整实例”的完整攻略,其中包含两个示例。
Spring MVC实现MySQL数据库增删改查完整实例
在Spring MVC中,我们可以使用JdbcTemplate类来实现MySQL数据库的增删改查操作。在本文中,我们将讲解如何使用JdbcTemplate类来实现MySQL数据库的增删改查操作。
MySQL数据库操作实现原理
Spring MVC使用JdbcTemplate类来实现MySQL数据库的增删改查操作。我们可以在Controller中定义一个方法来处理数据库操作请求。在该方法中,我们可以使用JdbcTemplate类来执行SQL语句,并将结果返回给客户端。
MySQL数据库操作用法
使用Spring MVC实现MySQL数据库操作的步骤如下:
- 在Controller中定义一个方法来处理数据库操作请求。
@Autowired
private JdbcTemplate jdbcTemplate;
@GetMapping("/users")
public List<User> getUsers() {
String sql = "SELECT * FROM users";
List<User> users = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(User.class));
return users;
}
在本示例中,我们定义了一个名为getUsers的方法,并使用@GetMapping注解标记该方法。我们使用@Autowired注解来注入JdbcTemplate类,并使用该类来执行SQL语句。在本示例中,我们执行了一个查询语句,并将结果封装在一个名为User的实体类中返回给客户端。
- 在HTML页面中添加数据库操作按钮。
<button onclick="getUsers()">查询用户</button>
在本示例中,我们创建了一个名为getUsers的按钮,并使用onclick事件来触发getUsers方法。
- 运行项目并点击按钮。
在本示例中,我们运行了项目并点击了getUsers按钮。我们将执行一个查询语句,并将结果封装在一个名为User的实体类中返回给客户端。
示例
以下是一个示例,演示如何使用Spring MVC实现MySQL数据库的增删改查操作:
-
创建一个名为spring-mvc-demo的Maven项目。
-
在项目的POM文件添加Spring MVC和MySQL的依赖库。
<dependencies>
<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>
</dependencies>
- 创建一个名为User的实体类。
public class User {
private int id;
private String name;
private int age;
// getters and setters
}
在本示例中,我们创建了一个名为User的实体类,并在该类中定义了三个属性:id、name和age。
- 在application.properties文件中添加MySQL数据库配置。
spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
在本示例中,我们在application.properties文件中添加了MySQL数据库的配置信息,包括数据库URL、用户名、密码和驱动程序类名。
- 创建一个名为UserController的Controller类。
@RestController
public class UserController {
@Autowired
private JdbcTemplate jdbcTemplate;
@GetMapping("/users")
public List<User> getUsers() {
String sql = "SELECT * FROM users";
List<User> users = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(User.class));
return users;
}
@PostMapping("/users")
public Result addUser(@RequestBody User user) {
String sql = "INSERT INTO users(name, age) VALUES(?, ?)";
int result = jdbcTemplate.update(sql, user.getName(), user.getAge());
if (result > 0) {
return Result.success();
} else {
return Result.error("添加用户失败");
}
}
@PutMapping("/users/{id}")
public Result updateUser(@PathVariable int id, @RequestBody User user) {
String sql = "UPDATE users SET name = ?, age = ? WHERE id = ?";
int result = jdbcTemplate.update(sql, user.getName(), user.getAge(), id);
if (result > 0) {
return Result.success();
} else {
return Result.error("更新用户失败");
}
}
@DeleteMapping("/users/{id}")
public Result deleteUser(@PathVariable int id) {
String sql = "DELETE FROM users WHERE id = ?";
int result = jdbcTemplate.update(sql, id);
if (result > 0) {
return Result.success();
} else {
return Result.error("删除用户失败");
}
}
}
在本示例中,我们创建了一个名为UserController的Controller类,并使用@RestController注解标记该类。我们使用@Autowired注解来注入JdbcTemplate类,并使用该类来执行SQL语句。我们使用@GetMapping注解来处理GET请求,并返回一个名为users的List
- 创建一个名为Result的返回结果类。
public class Result {
private int code;
private String message;
private Object data;
// getters and setters
}
在本示例中,我们创建了一个名为Result的返回结果类,并在该类中定义了三个属性:code、message和data。
- 创建一个名为index.html的HTML页面。
<!DOCTYPE html>
<html>
<head>
<title>用户管理</title>
</head>
<body>
<table>
<thead>
<tr>
<th>ID</th>
<th>姓名</th>
<th>年龄</th>
</tr>
</thead>
<tbody id="user-list">
</tbody>
</table>
<form>
<input type="text" name="name" placeholder="姓名">
<input type="text" name="age" placeholder="年龄">
<button type="button" onclick="addUser()">添加用户</button>
</form>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script>
function getUsers() {
$.get("/users", function(data) {
var html = "";
for (var i = 0; i < data.length; i++) {
html += "<tr>";
html += "<td>" + data[i].id + "</td>";
html += "<td>" + data[i].name + "</td>";
html += "<td>" + data[i].age + "</td>";
html += "</tr>";
}
$("#user-list").html(html);
});
}
function addUser() {
var name = $("input[name='name']").val();
var age = $("input[name='age']").val();
$.ajax({
url: "/users",
type: "POST",
data: JSON.stringify({
"name": name,
"age": age
}),
contentType: "application/json",
success: function(data) {
alert("添加用户成功");
getUsers();
},
error: function(xhr, status, error) {
var result = JSON.parse(xhr.responseText);
alert(result.message);
}
});
}
</script>
</body>
</html>
在本示例中,我们创建了一个名为index.html的HTML页面,并在该页面中添加了一个表格和一个表单。我们使用jQuery的$.get方法来获取用户列表,并将用户列表渲染到表格中。我们使用jQuery的$.ajax方法来添加用户,并在添加用户成功后刷新用户列表。
- 运行项目并访问http://localhost:8080/index.html。
在本示例中,我们运行了项目并访问了http://:8080/index.html。我们可以在该页面中添加、更新和删除用户,并查看用户列表。
总结
Spring MVC使用JdbcTemplate类来实现MySQL数据库的增删改查操作。我们可以在Controller中定义一个方法来处理数据库操作请求,并使用JdbcTemplate类来执行SQL语句。在使用Spring MVC实现MySQL数据库操作时,我们需要遵循SpringMVC规范,确保代码可维护性和可扩展。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring MVC实现mysql数据库增删改查完整实例 - Python技术站