使用的sql:java
INSERT INTO `user`(username,birthday,sex,address) VALUES (‘黃忠’,‘2016-07-26’,‘1’,‘三國’)
映射文件 在User.xml配置文件中添加以下內容:mysql
<!-- 保存用戶 --> <insert id="saveUser" parameterType="cn.itcast.mybatis.pojo.User"> INSERT INTO `user` (username,birthday,sex,address) VALUES (#{username},#{birthday},#{sex},#{address}) </insert>
查詢id的sqlsql
SELECT LAST_INSERT_ID()
經過修改User.xml映射文件,能夠將mysql自增主鍵返回: 以下添加==selectKey== 標籤mybatis
<!-- 保存用戶 --> <insert id="saveUser" parameterType="cn.itcast.mybatis.pojo.User"> <!-- selectKey 標籤實現主鍵返回 --> <!-- keyColumn:主鍵對應的表中的哪一列 --> <!-- keyProperty:主鍵對應的pojo中的哪個屬性 --> <!-- order:設置在執行insert語句前執行查詢id的sql,孩紙在執行insert語句以後執行查詢id的sql --> <!-- resultType:設置返回的id的類型 --> <selectKey keyColumn="id" keyProperty="id" order="AFTER" resultType="int"> SELECT LAST_INSERT_ID() </selectKey> INSERT INTO `user` (username,birthday,sex,address) VALUES (#{username},#{birthday},#{sex},#{address}) </insert>
LAST_INSERT_ID(): 是mysql的函數,返回auto_increment自增列新記錄id值。 ==注意這裏使用的order是「AFTER」==函數
須要增長經過select uuid()獲得uuid值ui
<!-- 保存用戶 --> <insert id="saveUser" parameterType="cn.itcast.mybatis.pojo.User"> <!-- selectKey 標籤實現主鍵返回 --> <!-- keyColumn:主鍵對應的表中的哪一列 --> <!-- keyProperty:主鍵對應的pojo中的哪個屬性 --> <!-- order:設置在執行insert語句前執行查詢id的sql,孩紙在執行insert語句以後執行查詢id的sql --> <!-- resultType:設置返回的id的類型 --> <selectKey keyColumn="id" keyProperty="id" order="BEFORE" resultType="string"> SELECT LAST_INSERT_ID() </selectKey> INSERT INTO `user` (username,birthday,sex,address) VALUES (#{username},#{birthday},#{sex},#{address}) </insert>
注意這裏使用的order是「BEFORE」spa
<insert id ="insertCodeBatch" parameterType="java.util.List" > <selectKey resultType ="java.lang.Integer" keyProperty= "id" order= "AFTER"> SELECT LAST_INSERT_ID() </selectKey > insert into redeem_code (bach_id, code, type, facevalue,create_user,create_time) values <foreach collection ="list" item="reddemCode" index= "index" separator =","> ( #{reddemCode.batchId}, #{reddemCode.code}, #{reddemCode.type}, #{reddemCode.facevalue}, #{reddemCode.createUser}, #{reddemCode.createTime} ) </foreach > </insert >