最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

spring boot整合mybatis利用Mysql實(shí)現(xiàn)主鍵UUID的方法

 更新時(shí)間:2018年03月11日 10:53:37   作者:kunm  
這篇文章主要給大家介紹了關(guān)于spring boot整合mybatis利用Mysql實(shí)現(xiàn)主鍵UUID的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。

前言

本文主要給大家介紹了關(guān)于spring boot整合mybatis利用Mysql實(shí)現(xiàn)主鍵UUID的相關(guān)內(nèi)容,分享出來供大家參考學(xué)習(xí),下面話不多說了,來一起看看詳細(xì)的介紹吧。

實(shí)現(xiàn)

基礎(chǔ)項(xiàng)目的pom.xml部分代碼如下

 <properties>
  <java.version>1.8</java.version>
 </properties>
 <!-- Inherit defaults from Spring Boot -->
 <parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>1.5.9.RELEASE</version>
 </parent>
 <dependencies>
  <!--Spring Boot依賴-->
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
  </dependency>
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-jdbc</artifactId>
  </dependency>
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-test</artifactId>
   <scope>test</scope>
  </dependency>
  <!--常用庫依賴-->
  <dependency>
   <groupId>commons-codec</groupId>
   <artifactId>commons-codec</artifactId>
  </dependency>
  <dependency>
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-lang3</artifactId>
   <version>3.6</version>
  </dependency>
  <dependency>
   <groupId>com.google.guava</groupId>
   <artifactId>guava</artifactId>
   <version>23.0</version>
  </dependency>
  <!--MySQL JDBC驅(qū)動(dòng)-->
  <dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
   <scope>runtime</scope>
  </dependency>
  <!--MyBatis 及 插件依賴-->
  <dependency>
   <groupId>org.mybatis</groupId>
   <artifactId>mybatis-spring</artifactId>
   <version>1.3.1</version>
  </dependency>
  <dependency>
   <groupId>org.mybatis</groupId>
   <artifactId>mybatis</artifactId>
   <version>3.4.5</version>
  </dependency>
  <dependency>
   <groupId>tk.mybatis</groupId>
   <artifactId>mapper</artifactId>
   <version>3.4.2</version>
  </dependency>
  <dependency>
   <groupId>com.github.pagehelper</groupId>
   <artifactId>pagehelper</artifactId>
   <version>4.2.1</version>
  </dependency>
  <!--阿里 FastJson依賴-->
  <dependency>
   <groupId>com.alibaba</groupId>
   <artifactId>fastjson</artifactId>
   <version>1.2.44</version>
  </dependency>
  <!--阿里 Druid Spring Boot Starter依賴-->
  <dependency>
   <groupId>com.alibaba</groupId>
   <artifactId>druid-spring-boot-starter</artifactId>
   <version>1.1.6</version>
  </dependency>
 </dependencies>
</project>

具體的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"表達(dá)式內(nèi)是否追加 and str != ''
  properties.setProperty("IDENTITY", "SELECT UUID()");//使用UUID作為主鍵
  properties.setProperty("ORDER","BEFORE");//將查詢主鍵作為前置操作
  mapperScannerConfigurer.setProperties(properties);
  return mapperScannerConfigurer;
 }

實(shí)體如下

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類型時(shí)或出現(xiàn)異常的問題

@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")

測試

配置文件配置輸出mybatis的sql日志

logging.level.com.你的dao或mapper包=debug

執(zhí)行對應(yīng)插入操作觀察控制臺(tái)

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í)行插入操作.

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • Java 方法遞歸的思路詳解

    Java 方法遞歸的思路詳解

    程序調(diào)用自身的編程技巧稱為遞歸( recursion)。遞歸做為一種算法在程序設(shè)計(jì)語言中廣泛應(yīng)用。但是如果沒終止條件會(huì)造成死循環(huán),所以遞歸代碼里要有結(jié)束自調(diào)自的條件,接下來講解一下學(xué)習(xí)遞歸的思路
    2022-04-04
  • Spring?Security自定義認(rèn)證邏輯實(shí)例詳解

    Spring?Security自定義認(rèn)證邏輯實(shí)例詳解

    這篇文章主要給大家介紹了關(guān)于Spring?Security自定義認(rèn)證邏輯的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-01-01
  • SpringBoot整合SpringSecurity實(shí)現(xiàn)圖形驗(yàn)證碼功能

    SpringBoot整合SpringSecurity實(shí)現(xiàn)圖形驗(yàn)證碼功能

    圖形驗(yàn)證碼是一種用于區(qū)分用戶是人類還是計(jì)算機(jī)程序的自動(dòng)化測試,它通常用于防止自動(dòng)化軟件進(jìn)行惡意操作,如濫用在線服務(wù)、暴力破?解密碼或進(jìn)行垃圾郵件發(fā)送等,下面將介紹?Spring?Boot?整合?Spring?Security?實(shí)現(xiàn)圖形驗(yàn)證碼功能,需要的朋友可以參考下
    2024-12-12
  • 最新log4j2遠(yuǎn)程代碼執(zhí)行漏洞(附解決方法)

    最新log4j2遠(yuǎn)程代碼執(zhí)行漏洞(附解決方法)

    Apache?Log4j2?遠(yuǎn)程代碼執(zhí)行漏洞攻擊代碼,該漏洞利用無需特殊配置,經(jīng)多方驗(yàn)證,Apache?Struts2、Apache?Solr、Apache?Druid、Apache?Flink等均受影響,本文就介紹一下解決方法
    2021-12-12
  • Java8中Lambda表達(dá)式的理解與應(yīng)用

    Java8中Lambda表達(dá)式的理解與應(yīng)用

    Java8最值得學(xué)習(xí)的特性就是Lambda表達(dá)式和Stream?API,如果有python或者javascript的語言基礎(chǔ),對理解Lambda表達(dá)式有很大幫助,下面這篇文章主要給大家介紹了關(guān)于Java8中Lambda表達(dá)式的相關(guān)資料,需要的朋友可以參考下
    2022-02-02
  • java中使用Files.readLines()處理文本中行數(shù)據(jù)方式

    java中使用Files.readLines()處理文本中行數(shù)據(jù)方式

    這篇文章主要介紹了java中使用Files.readLines()處理文本中行數(shù)據(jù)方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • java靜態(tài)工具類注入service出現(xiàn)NullPointerException異常處理

    java靜態(tài)工具類注入service出現(xiàn)NullPointerException異常處理

    如果我們要在我們自己封裝的Utils工具類中或者非controller普通類中使用@Autowired注解注入Service或者M(jìn)apper接口,直接注入是報(bào)錯(cuò)的,因Utils用了靜態(tài)方法,我們無法直接用非靜態(tài)接口的,遇到這問題,我們要想法解決,下面小編就簡單介紹解決辦法,需要的朋友可參考下
    2021-09-09
  • java實(shí)現(xiàn)AES 32位加密解密的方案

    java實(shí)現(xiàn)AES 32位加密解密的方案

    Oracle在其官方網(wǎng)站上提供了無政策限制權(quán)限文件(Unlimited Strength Jurisdiction Policy Files),我們只需要將其部署在JRE環(huán)境中,就可以解決限制問題,下面給大家介紹下java實(shí)現(xiàn)AES 32位加密解密的方案,感興趣的朋友一起看看吧
    2021-11-11
  • Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(37)

    Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(37)

    下面小編就為大家?guī)硪黄狫ava基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧,希望可以幫到你
    2021-07-07
  • java:try...catch跳過異常繼續(xù)處理循環(huán)問題

    java:try...catch跳過異常繼續(xù)處理循環(huán)問題

    這篇文章主要介紹了java:try...catch跳過異常繼續(xù)處理循環(huán)問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10

最新評論

丹阳市| 顺义区| 应城市| 获嘉县| 远安县| 永年县| 灵武市| 专栏| 长寿区| 正宁县| 廉江市| 晋江市| 沙湾县| 顺义区| 蕲春县| 阜康市| 清水河县| 会理县| 聊城市| 东乡县| 霍城县| 巴彦淖尔市| 那曲县| 莱阳市| 通江县| 襄垣县| 察隅县| 神池县| 玉环县| 太原市| 合水县| 瑞丽市| 嵊泗县| 沂源县| 桦南县| 虞城县| 道孚县| 辽中县| 威海市| 西乌珠穆沁旗| 永川市|