1.引入Mybatis-Plus依賴(3.1.1版本目前有些問題,建議使用3.1.0版本)
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.1.0</version> </dependency>
2.在application.yml配置文件中增加如下配置項
mybatis-plus: #mapper-locations: classpath:mybatis/**/*Mapper.xml # 在classpath前添加星號可以使項目熱加載成功
# 自定義xml sql文件需要配置這個 mapper-locations: classpath*:mybatis/**/*Mapper.xml #實體掃描,多個package用逗號或者分號分隔 typeAliasesPackage: com.nis.project global-config: #主鍵類型 0:"數據庫ID自增", 1:"用戶輸入ID",2:"全局唯一ID (數字類型唯一ID)", 3:"全局唯一ID UUID"; id-type: 3 #機器 ID 部分(影響雪花ID) workerId: 1 #數據標識 ID 部分(影響雪花ID)(workerId 和 datacenterId 一起配置才能重新初始化 Sequence) datacenterId: 18 #字段策略 0:"忽略判斷",1:"非 NULL 判斷"),2:"非空判斷" field-strategy: 2 #駝峰下划線轉換 db-column-underline: true #刷新mapper 調試神器 refresh-mapper: true #數據庫大寫下划線轉換 #capital-mode: true #序列接口實現類配置 #key-generator: com.baomidou.springboot.xxx #邏輯刪除配置(下面3個配置) logic-delete-value: 0 logic-not-delete-value: 1 #自定義SQL注入器 #sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector #自定義填充策略接口實現 #meta-object-handler: com.baomidou.springboot.xxx configuration: map-underscore-to-camel-case: true cache-enabled: false # 這個配置會將執行的sql打印出來,在開發或測試的時候可以用 log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
3.原有的mapper接口增加繼承BaseMapper接口
public interface UserMapper extends BaseMapper<User>
4.實體類增加注解
在User實體類上添加@TableId的注解用來標識實體類的主鍵,以便插件在生成主鍵雪花Id或者其他id模式的時候找到哪個是主鍵;這種id是局部id,優先級:局部>全局。
@TableId @JsonFormat(shape = JsonFormat.Shape.STRING) private Long userId;
5.分頁配置
5.1 添加mybatis的一個配置類(不添加,則分頁數據中的page參數會異常)
@Configuration
@MapperScan({"com.nis.project.*.mapper"}) //也可以放到spring boot的啟動類
public class MybatisPlusConfig {
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
}