SpringBoot 学习笔记之: Mybatis-Plus + Mysql

springboot整合mybatis-plus

导包:mybatis-plus-boot-starter,druid,mysql-connector-java
配置:

spring:
  datasource:
    # 使用druid数据源
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://192.168.3.172:3306/poc?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8
    username: devuser
    password: dev123
    filters: stat
    maxActive: 20
    initialSize: 1
    maxWait: 60000
    minIdle: 1
    timeBetweenEvictionRunsMillis: 60000
    minEvictableIdleTimeMillis: 300000
    validationQuery: select 1 FROM DUAL
    testWhileIdle: true
    testOnBorrow: false
    testOnReturn: false
    poolPreparedStatements: true
    maxOpenPreparedStatements: 20

实体类注解:
1@TableName:指定哪一张表
2@TableId:主键
使用:定义mapper接口,继承BaseMapper接口,该接口封装了Sql
在启动类上面扫描mapper包
使用:分页加条件查询代码如下
SpringBoot 学习笔记之: Mybatis-Plus + Mysql_第1张图片
条件+分页:

public Page search(Map map, int page, int size) {
EntityWrapper wrapper = new EntityWrapper();
Set fieldSet = map.keySet();
for (String field : fieldSet) {
wrapper.eq(null != map.get(field), field, map.get(field));//第一个表示是都添加,true添加,false不添加
第二个表示对应表中的列名,第三个表示具体的值
}
Page page1 = new Page(page, size);
List list = articleDao.selectPage(page1, wrapper);
page1.setRecords(list);
return page1;
}

公共字段自动填充

应用场景:
1.大部分表都会有的,2.字段值是固定的,例如修改记录里面有修改人和修改字段
MetaObjectHandler:元对象字段填充控制器抽象类,实现公共字段自动写入

mybatis类型转换:
自定义类型转换:实现TypeHandler接口,继承BaseTypeHandler类

你可能感兴趣的:(springboot)