下面是关于“SpringBoot整合MyBatisPlus详解”的完整攻略:
1. 环境准备
- JDK 1.8及以上
- Maven 3.0或更高版本
- SpringBoot 2.x
- MyBatisPlus 3.x
2. 依赖导入
在pom.xml文件中添加如下依赖:
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>最新版本</version>
</dependency>
3. 数据库配置
在application.yml文件中配置数据源及MyBatisPlus相关配置。以下是一个示例:
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/mytest?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
username: root
password: root
mybatis-plus:
mapper-locations: classpath:mapper/*.xml
configuration:
map-underscore-to-camel-case: true
4. 代码编写
4.1 创建实体类
在dao的包下创建一个实体类(如User.java),使用@TableName
注解指定对应的表名,使用@TableId
注解指定主键字段。
@Data
@TableName("t_user")
public class User {
@TableId(type = IdType.AUTO)
private Long id;
private String username;
private String password;
private String nickname;
}
4.2 创建Mapper接口
在dao的包下创建一个接口(如UserMapper.java),并继承BaseMapper
接口。
public interface UserMapper extends BaseMapper<User> {
}
4.3 创建Service类
在service的包下创建一个Service类(如UserService.java),并使用@Service
注解标注。
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public List<User> list(){
return userMapper.selectList(null);
}
public User getById(Long id){
return userMapper.selectById(id);
}
public int save(User user){
return userMapper.insert(user);
}
public int update(User user){
return userMapper.updateById(user);
}
public int remove(Long id){
return userMapper.deleteById(id);
}
}
4.4 创建Controller类
在controller的包下创建一个Controller类(如UserController.java),并使用@RestController
注解标注。
@RestController
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/user/list")
public List<User> list(){
return userService.list();
}
@GetMapping("/user/{id}")
public User getById(@PathVariable Long id){
return userService.getById(id);
}
@PostMapping("/user")
public int save(User user){
return userService.save(user);
}
@PutMapping("/user")
public int update(User user){
return userService.update(user);
}
@DeleteMapping("/user/{id}")
public int remove(@PathVariable Long id){
return userService.remove(id);
}
}
5. 运行测试
使用IDE或命令行启动应用,访问http://localhost:8080/user/list,可以看到返回的数据。
6. 示例
以下是两个示例:
6.1 插入数据
向数据库插入一条数据,示例代码如下:
User user = new User();
user.setUsername("username");
user.setPassword("password");
user.setNickname("nickname");
userService.save(user);
6.2 分页查询
使用MyBatisPlus提供的类Page
进行分页查询,示例代码如下:
Page<User> page = new Page<>(currentPage, pageSize);
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("username", "username");
IPage<User> userIPage = userMapper.selectPage(page, wrapper);
List<User> userList = userIPage.getRecords();
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot整合MyBatisPlus详解 - Python技术站