您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關UUID怎么在MyBatis中生成,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
keyProperty:設置需要自動生成鍵值的列
order:可選值BEFORE和AFTER,設置為BEFORE會先執行selectKey語句,設置keyProperty屬性,再執行insert語句;設置為AFTER會先執行insert語句再執行selectKey語句
resultType:結果類型,MyBatis 通常可以自己檢測到,但這并不影響給它一個確切的類型。MyBatis 允許使用任何基本的數據類型作為鍵值,也包括String 類型。
statementType:支持STATEMENT、PREPARED 和CALLABLE 語句類型,分別對應Statement, PreparedStatement 和CallableStatement
使用 <selectKey>標簽,keyProperty設置生成的UUID所綁定的屬性,如設置為id,即會將值綁定到參數對象User的id屬性上;order屬性設置為BEFORE,先執行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>
使用@SelectKey注解,屬性和<selectKey>標簽類似。before屬性設置為true,類似于<selectKey>標簽order屬性設置為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());
看完上述內容,你們對UUID怎么在MyBatis中生成有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。