写一个简单springboot项目,用mybatis通过xml配置对mysql数据库进行curd,给出详细代码和注释
时间: 2023-04-03 19:04:15 浏览: 119
好的,这个问题我可以回答。以下是一个简单的 Spring Boot 项目,使用 MyBatis 通过 XML 配置对 MySQL 数据库进行 CRUD 操作的代码和注释:
首先,需要在 pom.xml 中添加以下依赖:
```xml
<dependencies>
<!-- Spring Boot Starter Web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- MyBatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
<!-- MySQL Connector -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version>
</dependency>
</dependencies>
```
接下来,需要在 application.properties 中配置数据库连接信息:
```properties
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
```
其中,url 中的 test 是数据库名,username 和 password 是数据库的用户名和密码,driver-class-name 是 MySQL 驱动的类名。
然后,需要创建一个 User 实体类,用于映射数据库中的 user 表:
```java
public class User {
private Long id;
private String name;
private Integer age;
// getter 和 setter 略
}
```
接着,需要创建一个 UserMapper 接口,用于定义 CRUD 操作:
```java
@Mapper
public interface UserMapper {
@Select("SELECT * FROM user WHERE id = #{id}")
User findById(Long id);
@Insert("INSERT INTO user(name, age) VALUES(#{name}, #{age})")
void insert(User user);
@Update("UPDATE user SET name = #{name}, age = #{age} WHERE id = #{id}")
void update(User user);
@Delete("DELETE FROM user WHERE id = #{id}")
void delete(Long id);
}
```
其中,@Mapper 注解表示这是一个 MyBatis 的 Mapper 接口,@Select、@Insert、@Update、@Delete 注解分别表示查询、插入、更新、删除操作。
最后,需要创建一个 UserController 类,用于处理 HTTP 请求:
```java
@RestController
public class UserController {
@Autowired
private UserMapper userMapper;
@GetMapping("/users/{id}")
public User getUser(@PathVariable Long id) {
return userMapper.findById(id);
}
@PostMapping("/users")
public void addUser(@RequestBody User user) {
userMapper.insert(user);
}
@PutMapping("/users/{id}")
public void updateUser(@PathVariable Long id, @RequestBody User user) {
user.setId(id);
userMapper.update(user);
}
@DeleteMapping("/users/{id}")
public void deleteUser(@PathVariable Long id) {
userMapper.delete(id);
}
}
```
其中,@RestController 注解表示这是一个 RESTful API,@Autowired 注解表示自动注入 UserMapper 对象,@GetMapping、@PostMapping、@PutMapping、@DeleteMapping 注解分别表示 GET、POST、PUT、DELETE 请求。
好了,以上就是一个简单的 Spring Boot 项目,使用 MyBatis 通过 XML 配置对 MySQL 数据库进行 CRUD 操作的代码和注释。
阅读全文