這篇文章給大家分享的是有關(guān)spring boot整合mybatis如何使用MySQL實現(xiàn)主鍵UUID的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
專注于為中小企業(yè)提供網(wǎng)站設(shè)計、成都網(wǎng)站設(shè)計服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)劍閣免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千余家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
實現(xiàn)
基礎(chǔ)項目的pom.xml部分代碼如下
1.8 org.springframework.boot spring-boot-starter-parent 1.5.9.RELEASE org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-jdbc org.springframework.boot spring-boot-starter-test test commons-codec commons-codec org.apache.commons commons-lang3 3.6 com.google.guava guava 23.0 mysql mysql-connector-java runtime org.mybatis mybatis-spring 1.3.1 org.mybatis mybatis 3.4.5 tk.mybatis mapper 3.4.2 com.github.pagehelper pagehelper 4.2.1 com.alibaba fastjson 1.2.44 com.alibaba druid-spring-boot-starter 1.1.6
具體的mybatis配置如下
@Bean public MapperScannerConfigurer mapperScannerConfigurer() { MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer(); mapperScannerConfigurer.setSqlSessionFactoryBeanName("sqlSessionFactoryBean"); mapperScannerConfigurer.setBasePackage(MAPPER_PACKAGE); //配置通用Mapper,詳情請查閱官方文檔 Properties properties = new Properties(); properties.setProperty("mappers", MAPPER_INTERFACE_REFERENCE); properties.setProperty("notEmpty", "true");//insert、update是否判斷字符串類型!='' 即 test="str != null"表達式內(nèi)是否追加 and str != '' properties.setProperty("IDENTITY", "SELECT UUID()");//使用UUID作為主鍵 properties.setProperty("ORDER","BEFORE");//將查詢主鍵作為前置操作 mapperScannerConfigurer.setProperties(properties); return mapperScannerConfigurer; }
實體如下
public class User { @Id @Column(name = "ID") @GeneratedValue(strategy = GenerationType.IDENTITY) private String id; @Column(name = "CREATED_BY") private String createdBy; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Column(name = "CREATED_DATE") private Date createdDate; @Column(name = "LAST_MODIFIED_BY") private String lastModifiedBy; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Column(name = "LAST_MODIFIED_DATE") private Date lastModifiedDate;
下面這一行代碼是為了解決spring MVC在入?yún)⑹荄ate類型時或出現(xiàn)異常的問題
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
測試
配置文件配置輸出mybatis的sql日志
logging.level.com.你的dao或mapper包=debug
執(zhí)行對應(yīng)插入操作觀察控制臺
2018-03-06 17:59:22.612 DEBUG 6208 --- [nio-8686-exec-1] XXXXX: ==> Executing: SELECT UUID() 2018-03-06 17:59:22.629 DEBUG 6208 --- [nio-8686-exec-1] XXXXX: <== Total: 1 2018-03-06 17:59:22.651 DEBUG 6208 --- [nio-8686-exec-1] XXXXX: ==> Preparing: INSERT INTO user ( ID,USER_NAME,NICK_NAME,PWD_SALT,PWD_LOGIN,CREATED_BY,CREATED_DATE,LAST_MODIFIED_BY,LAST_MODIFIED_DATE,ACCOUNT_TYPE,ACCOUNT_LOCKED,ONLINE_STATUS,GROUP_ID,GROUP_NAME ) VALUES( ?,?,?,?,? ) 2018-03-06 17:59:22.665 DEBUG 6208 --- [nio-8686-exec-1] XXXXX: ==> Parameters: 0b97ad1b-2125-11e8-9b42-704d7b7036d3(String), 2(String), 2018-01-01 01:07:05.0(Timestamp), 2(String), 2018-01-01 01:07:05.0(Timestamp) 2018-03-06 17:59:22.670 DEBUG 6208 --- [nio-8686-exec-1] XXXXX: <== Updates: 1
可以看到,首先執(zhí)行了查詢UUID的操作,然后將執(zhí)行結(jié)果作為插入的主鍵執(zhí)行插入操作.
感謝各位的閱讀!關(guān)于“spring boot整合mybatis如何使用Mysql實現(xiàn)主鍵UUID”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!