springboot集成mybatis-plus springboot快速集成mybatis-plus的详细教程
子_轩 人气:0想了解springboot快速集成mybatis-plus的详细教程的相关内容吗,子_轩在本文为您仔细讲解springboot集成mybatis-plus的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:springboot集成mybatis-plus,spring集成mybatis-plus,下面大家一起来学习吧。
简介
Mybatis-Plus(简称MP)
是一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生。这是官方给的定义,关于mybatis-plus的更多介绍及特性,可以参考mybatis-plus官网。那么它是怎么增强的呢?其实就是它已经封装好了一些crud方法,我们不需要再写xml了,直接调用这些方法就行,就类似于JPA。
springBoot快速集成mybatis-plus
一、pom文件引入mybatis-plus依赖
<dependencies> <!--web--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--lombok--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <!--mysql驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.25</version> </dependency> <!--mybatis-plus--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.1.0</version> </dependency> <!---test--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies>
注:
这里最主要的是mybatis-plus-boot-starter依赖,其他依赖都是基本的
二、基础配置 application.properties
#mysql数据库 spring.datasource.url= jdbc:mysql://127.0.0.1:3306/springbootdemo?characterEncoding=UTF-8&allowMultiQueries=true&serverTimezone=GMT%2B8 spring.datasource.username= root spring.datasource.password= 111111 spring.datasource.driver-class-name=com.mysql.jdbc.Driver #mybatis #开启驼峰 mybatis.configuration.map-underscore-to-camel-case=true #打印日志 mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl #mybatis-plus配置 mybatis-plus.mapper-locations=classpath*:/mappers/*.xml #主键类型 0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID"; mybatis-plus.global-config.id-type=0 #字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断" mybatis-plus.global-config.field-strategy= 1 #驼峰下划线转换 mybatis-plus.global-config.db-column-underline=true
三、MybatisPlusConfig
/** * MybatisPlus配置类 */ @EnableTransactionManagement @Configuration @MapperScan(basePackages = "com.example.demo.mapper") public class MybatisPlusConfig { /** * 分页插件 */ @Bean public PaginationInterceptor paginationInterceptor() { return new PaginationInterceptor(); } }
四、测试
实体类 主键使用@TableId(value = "id",type = IdType.AUTO)
指定类型
@TableField(exist = false):表示该属性不为数据库表字段,但又是必须使用的。
@Data public class SysUser implements Serializable { private static final long serialVersionUID = 1L; /** * 主键 */ @TableId(value = "id",type = IdType.AUTO) private Integer id; /** * 用户名 */ private String username; /** * 密码 */ private String password; /** * 电话 */ private String phone; /** * 邮箱 */ private String email; /** * 创建时间 */ private Date createDate; /** * 更新时间 */ private Date updateDate; /** * sys_user */ }
新建SysUserMapper继承 BaseMapper
public interface SysUserMapper extends BaseMapper<SysUser> { }
测试
@Autowired private SysUserMapper sysUserMapper; /** * 插入 */ @Test public void insert() { SysUser sysUser=new SysUser(); sysUser.setPhone("18787878787"); sysUser.setPassword("123456"); sysUser.setUsername("root"); sysUser.setCreateDate(new Date()); sysUser.setUpdateDate(new Date()); sysUserMapper.insert(sysUser); } /** * 分页查询 */ @Test public void selectByPage() { Page<SysUser> page=new Page(1,1); IPage p= sysUserMapper.selectPage(page,new QueryWrapper<SysUser>().eq("password","123456")); System.out.println(p.getRecords()); }
分页一般使用
List<ApiLogVO> getCallLogList(ApiLogDTO dto, Page page); mapper IPage<ApiLogVO> getCallLogList(ApiLogDTO dto); IService serviceImpl @Override public IPage<ApiLogVO> getCallLogList(ApiLogDTO dto) { Page<ApiLogVO> page=new Page(dto.getCurrent(),dto.getSize()); List<ApiLogVO>list= apiLogMapper.getCallLogList(dto,page); page.setRecords(list); return page; } controller @PostMapping("/call/log") @ApiOperation("api调用日志列表") public IPage<ApiLogVO> callLog(@ModelAttribute ApiLogDTO dto){ return sysService.getCallLogList(dto); }
附上目录结构
总结
加载全部内容