写一个简单springboot项目,通过mybatis对mysql数据库进行curd,给出详细代码和注释
时间: 2023-04-04 22:01:39 浏览: 131
好的,我可以回答这个问题。以下是一个简单的 Spring Boot 项目,使用 MyBatis 对 MySQL 数据库进行 CRUD 操作的代码和注释。
首先,需要在 pom.xml 文件中添加以下依赖:
```xml
<dependencies>
<!-- Spring Boot Starter Web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- MySQL Connector/J -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8..23</version>
</dependency>
<!-- MyBatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.</version>
</dependency>
</dependencies>
```
接下来,创建一个实体类 User,用于映射数据库中的 user 表:
```java
public class User {
private Long id;
private String name;
private Integer age;
// 省略 getter 和 setter 方法
}
```
然后,创建一个 Mapper 接口 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);
}
```
注意,这里使用了 MyBatis 的注解方式来定义 SQL 语句。
接下来,创建一个 Service 类 UserService,用于调用 Mapper 接口中定义的方法:
```java
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public User findById(Long id) {
return userMapper.findById(id);
}
public void insert(User user) {
userMapper.insert(user);
}
public void update(User user) {
userMapper.update(user);
}
public void delete(Long id) {
userMapper.delete(id);
}
}
```
最后,创建一个 Controller 类 UserController,用于处理 HTTP 请求:
```java
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/{id}")
public User findById(@PathVariable Long id) {
return userService.findById(id);
}
@PostMapping
public void insert(@RequestBody User user) {
userService.insert(user);
}
@PutMapping("/{id}")
public void update(@PathVariable Long id, @RequestBody User user) {
user.setId(id);
userService.update(user);
}
@DeleteMapping("/{id}")
public void delete(@PathVariable Long id) {
userService.delete(id);
}
}
```
这里使用了 Spring MVC 的注解方式来定义 HTTP 请求处理方法。
以上就是一个简单的 Spring Boot 项目,使用 MyBatis 对 MySQL 数据库进行 CRUD 操作的代码和注释。
阅读全文