# SpringBoot整合mybatis
### 导入依赖
以`MySQL`数据库为例:
```xml
org.mybatis.spring.boot
mybatis-spring-boot-starter
2.3.0
com.mysql
mysql-connector-j
runtime
```
**注意: 一定要注意 mybatis-spring-boot-starter 和 SpringBoot 版本对应,否则会无法启动**
具体版本对应关系见[官方仓库](https://github.com/mybatis/spring-boot-starter).
本教程使用的是 SpringBoot 2.7.9 对应 mybatis-spring-boot-starter 2.3.x.
更简单的方式是在 IDEA 创建项目时,勾选上 mybatis, 项目会根据 SpringBoot 版本帮你自动选择好
{{}}
### 添加配置
```java
spring:
datasource:
username: root
password: 123456
url: jdbc:mysql://localhost:3306/db?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8
driver-class-name: com.mysql.cj.jdbc.Driver
```
### 创建实体类
建表语句和初始数据可从[这里](https://baomidou.com/pages/226c21/)获取
```java
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
private Integer id;
private String name;
private Integer age;
private String email;
}
```
### UserController
```java
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserMapper userMapper;
@GetMapping("/all")
public List getAllUser() {
return userMapper.queryAllUser();
}
@PostMapping
public User getUserById(@RequestBody Integer id) {
return userMapper.queryUserById(id);
}
@PostMapping("/add")
public int addUser(@RequestBody User user){
return userMapper.addUser(user);
}
@DeleteMapping("/delete")
public int deleteUser(@RequestBody Integer id){
return userMapper.deleteById(id);
}
@PostMapping("/update")
public int updateUser(@RequestParam Integer id,
@RequestParam String name) {
return userMapper.updateUserNameById(id,name);
}
@GetMapping("/info")
public List