tk.mybatis實(shí)現(xiàn)uuid主鍵生成的示例代碼
引入依賴
<dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper-spring-boot-starter</artifactId> <version>2.0.2</version> </dependency>
1、創(chuàng)建一個(gè)GenId的實(shí)現(xiàn)類
package com.xiaobu.base.entity; import tk.mybatis.mapper.genid.GenId; import java.util.UUID; /** * @author xiaobu * @version JDK1.8.0_171 * @date on 2019/3/27 11:37 * @description V1.0 */ public class UUIdGenId implements GenId<String> { @Override public String genId(String s, String s1) { return UUID.randomUUID().toString().replace("-",""); } }
2、創(chuàng)建實(shí)體類
package com.xiaobu.entity; import com.xiaobu.base.entity.UUIdGenId; import lombok.Data; import tk.mybatis.mapper.annotation.KeySql; import javax.persistence.Id; import java.io.Serializable; /** * 功能描述: 測(cè)試uuid主鍵生成 * @author xiaobu * @date 2019/3/27 16:30 * @version 1.0 */ @Data public class TbDemo1 implements Serializable { /** * */ @Id @KeySql(genId = UUIdGenId.class) private String id; /** * */ private String name; private static final long serialVersionUID = 1L; }
3、mapper類集成通用mapper
package com.xiaobu.mapper; import com.xiaobu.base.mapper.MyMapper; import com.xiaobu.entity.TbDemo1; import org.apache.ibatis.annotations.Mapper; /** * 功能描述:繼承通用mapper * @author xiaobu * @date 2019/3/27 17:06 * @version 1.0 */ @Mapper public interface TbDemo1Mapper extends MyMapper<TbDemo1> { }
4、測(cè)試
package com.xiaobu; import com.xiaobu.entity.TbDemo1; import com.xiaobu.mapper.TbDemo1Mapper; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; /** * @author xiaobu * @version JDK1.8.0_171 * @date on 2019/3/27 11:11 * @description V1.0 */ @RunWith(SpringRunner.class) @SpringBootTest public class TbDemo1Test { @Autowired private TbDemo1Mapper tbDemo1Mapper; @Test public void insert(){ TbDemo1 tbDemo1 = new TbDemo1(); tbDemo1.setName("測(cè)試uuid生成"); tbDemo1Mapper.insert(tbDemo1); System.out.println("新增完成....."); } }
tk.mapper的insertList不支持,自己寫(xiě)的插入方法也是不支持的。
到此這篇關(guān)于tk.mybatis實(shí)現(xiàn)uuid主鍵生成的示例代碼的文章就介紹到這了,更多相關(guān)tk.mybatis生成uuid主鍵內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決myBatis generator逆向生成沒(méi)有根據(jù)主鍵的select,update和delete問(wèn)題
這篇文章主要介紹了解決myBatis generator逆向生成沒(méi)有根據(jù)主鍵的select,update和delete問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09簡(jiǎn)單學(xué)習(xí)Java API 設(shè)計(jì)實(shí)踐
API(Application Programming Interface,應(yīng)用程序編程接口)是一些預(yù)先定義的函數(shù),目的是提供應(yīng)用程序與開(kāi)發(fā)人員基于某軟件或硬件的以訪問(wèn)一組例程的能力,而又無(wú)需訪問(wèn)源碼,或理解內(nèi)部工作機(jī)制的細(xì)節(jié)。需要的可以了解一下2019-06-06Java中不用第三個(gè)變量來(lái)互換兩個(gè)變量的值
在程序運(yùn)行期間,隨時(shí)可能產(chǎn)生一些臨時(shí)數(shù)據(jù),應(yīng)用程序會(huì)將這些數(shù)據(jù)保存在一些內(nèi)存單元中,每個(gè)內(nèi)存單元都用一個(gè)標(biāo)識(shí)符來(lái)標(biāo)識(shí)。這些內(nèi)存單元被稱為變量,定義的標(biāo)識(shí)符就是變量名,內(nèi)存單元中存儲(chǔ)的數(shù)據(jù)就是變量的值2021-10-10Java中ArrayList和LinkedList的遍歷與性能分析
這篇文章主要給大家介紹了ArrayList和LinkedList這兩種list的五種循環(huán)遍歷方式,各種方式的性能測(cè)試對(duì)比,根據(jù)ArrayList和LinkedList的源碼實(shí)現(xiàn)分析性能結(jié)果,總結(jié)結(jié)論。相信對(duì)大家的理解和學(xué)習(xí)具有一定的參考價(jià)值,有需要的朋友們下面跟著小編一起來(lái)學(xué)習(xí)學(xué)習(xí)吧。2016-12-12詳解Java中Array和ArrayList的比較和轉(zhuǎn)換
在 Java 編程中,arrays 和 arraylists 都是基本的數(shù)據(jù)結(jié)構(gòu),用來(lái)存放數(shù)據(jù)集合,雖然兩者的用途一樣,但是它們的特點(diǎn)極大地影響應(yīng)用的性能和靈活性,本文探討 arrays 和 arraylists 的重要特性,它們各自的強(qiáng)項(xiàng)和弱點(diǎn),,需要的朋友可以參考下2023-08-08Java Synchronized鎖升級(jí)原理及過(guò)程剖析
這篇文章主要為大家詳細(xì)介紹一下Java中Synchronized鎖升級(jí)原理及過(guò)程,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)學(xué)習(xí)2022-08-08詳解SpringBoot中使用JPA作為數(shù)據(jù)持久化框架
這篇文章主要介紹了SpringBoot中使用JPA作為數(shù)據(jù)持久化框架的相關(guān)知識(shí),本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03Spring AOP的幾種實(shí)現(xiàn)方式總結(jié)
本篇文章主要介紹了Spring AOP的幾種實(shí)現(xiàn)方式總結(jié),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02