Mybatis-Plus雪花id的使用以及參數配置詳解


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();
    }
}

  以上資料轉載,點我


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM