MyBatis生成UUID的實現(xiàn)
1.<selectKey>標(biāo)簽屬性說明
- keyProperty:設(shè)置需要自動生成鍵值的列
- order:可選值BEFORE和AFTER,設(shè)置為BEFORE會先執(zhí)行selectKey語句,設(shè)置keyProperty屬性,再執(zhí)行insert語句;設(shè)置為AFTER會先執(zhí)行insert語句再執(zhí)行selectKey語句
- resultType:結(jié)果類型,MyBatis 通??梢宰约簷z測到,但這并不影響給它一個確切的類型。MyBatis 允許使用任何基本的數(shù)據(jù)類型作為鍵值,也包括String 類型。
- statementType:支持STATEMENT、PREPARED 和CALLABLE 語句類型,分別對應(yīng)Statement, PreparedStatement 和CallableStatement
2.XML方式(mysql數(shù)據(jù)庫為例)
使用 <selectKey>標(biāo)簽,keyProperty設(shè)置生成的UUID所綁定的屬性,如設(shè)置為id,即會將值綁定到參數(shù)對象User的id屬性上;order屬性設(shè)置為BEFORE,先執(zhí)行selectKey語句
<insert id="save" parameterType="User"> <selectKey keyProperty="id" resultType="string" order="BEFORE"> select replace(uuid(), '-', '') as id from dual </selectKey> insert into t_user(id, user_sex) values( #{id}, #{user_sex} ) </insert>
3.注解方式
使用@SelectKey注解,屬性和<selectKey>標(biāo)簽類似。before屬性設(shè)置為true,類似于<selectKey>標(biāo)簽order屬性設(shè)置為BEFORE
@Insert("insert into t_user(id, user_sex) values(#{id}, #{user_sex})") @SelectKey(keyProperty = "id", resultType = String.class, before = true, statement = "select replace(uuid(), '-', '') as id from dual") public int save(User user);
測試代碼:
User user = new User(); user.setUser_age(22); user.setUser_sex(1); int count = userMapper.save(user); System.out.println("count:" + count); System.out.println("id:" + user.getId());
到此這篇關(guān)于MyBatis生成UUID的實現(xiàn)的文章就介紹到這了,更多相關(guān)MyBatis生成UUID內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
一次線上websocket返回400問題排查的實戰(zhàn)記錄
最近項目中有端對端通信場景,實時性要求較高,考慮后選用了websocket 這一通信協(xié)議,下面這篇文章主要給大家介紹了一次線上websocket返回400問題排查的實戰(zhàn)記錄,需要的朋友可以參考下2022-04-04SpringBoot整合Elasticsearch并實現(xiàn)CRUD操作
這篇文章主要介紹了SpringBoot整合Elasticsearch并實現(xiàn)CRUD操作,需要的朋友可以參考下2018-03-03Spring Boot 2.0 配置屬性自定義轉(zhuǎn)換的方法
這篇文章主要介紹了Spring Boot 2.0 配置屬性自定義轉(zhuǎn)換的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-11-11spring-gateway網(wǎng)關(guān)聚合swagger實現(xiàn)多個服務(wù)接口切換的示例代碼
這篇文章主要介紹了spring-gateway網(wǎng)關(guān)聚合swagger實現(xiàn)多個服務(wù)接口切換的示例代碼,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-03-03