SpringBoot整合篇 02、Springboot整合MybatisPlus
【摘要】 文章目录前言一、Springboot快速集成MybatisPlus二、分页参考文章
前言
本篇博客是SpringBoot整合MybatisPlus,若文章中出现相关问题,请指出!
所有博客文件目录索引:博客目录索引(持续更新)
一、Springboot快速集成MybatisPlus
MybatisPlus官网
准备工作
step1:添加依赖
<!-- mybatis plus
@[toc]
前言
本篇博客是SpringBoot整合MybatisPlus,若文章中出现相关问题,请指出!
所有博客文件目录索引:博客目录索引(持续更新)
一、Springboot快速集成MybatisPlus
准备工作
step1:添加依赖
<!-- mybatis plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
step2:yml配置
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: root
password: 123456
#控制台打印sql
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
step3:springboot启动类上添加自动扫描包
@MapperScan("xyz.changlu.mapper")
应用
Dao扩展配置类:可以直接直接调用方法查询数据库
//可以直接应用基本的CRUD
public interface UserMapper extends BaseMapper<User> {
}
service层扩展配置类:
其中QueryWrapper可以来配置一些条件筛选
//①继承IService,包含一些service封装好的方法
public interface UserService extends IService<User> {
}
@Service
//①继承extends ServiceImpl<UserMapper, User>,封装好了IService中的一些接口
//②实现UserService
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
@Resource
private UserMapper userMapper;
@Override
public List<User> getUserByName(String name) {
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.select("id","name","age").like("name",name);
//执行查询
List<User> users = userMapper.selectList(wrapper);
return users;
}
}
二、分页
编写配置类:
/**
* @author Administrator
* @date 2021/07/26 16:36
**/
@Configuration
@Component
public class MybatisPlusConfig {
// 最新版
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
}
}
编写测试类:这里使用controller
@RestController
@RequestMapping("/api/v1/test/my")
public class UserController {
@Autowired
private UserMapper userMapper;
@GetMapping("list")
public ResultBody test(){
//设置Page实例
Page<User> page = new Page<>(2, 3);
//调用Mapper分页查询
Page<User> userPage = userMapper.selectPage(page, null);
userPage.getRecords().forEach(System.out::println);//getRecords()拿到分页查询的List集合
return ResultBody.success(userPage.getRecords());
}
}
参考文章
[1]. SpringBoot整合MyBatis-Plus各种使用点超级详细:非常详细,包含分页插件、自动填充数据、逻辑删除、乐观锁实现
[2]. MyBatis Plus——分页插件【PaginationInnerInterceptor】:基本分页使用
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)