Mybatis_插入資料後返回主鍵ID_返回資料欄位與類中欄位相對應
阿新 • • 發佈:2018-12-30
目的:利用mapper 向資料庫中插入記錄,並返回主鍵ID
注意返回資料的名字需要與類中欄位相對應上若不對應上會出現以下錯誤:
JavaBean
XXXMapper.xml中的SQL
正確Mapper.xml中的寫法
<insert id="insertUser" parameterType="cn.itcast.mybatis.po.User"> <!-- 將插入資料的主鍵返回,返回到user物件中 =================SELECT LAST_INSERT_ID():得到剛insert進去記錄的主鍵值,只適用與自增主鍵 keyProperty:將查詢到主鍵值設定到parameterType指定的物件的哪個屬性 order:SELECT LAST_INSERT_ID()執行順序,相對於insert語句來說它的執行順序 resultType:指定SELECT LAST_INSERT_ID()的結果型別 --> <selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer"> SELECT LAST_INSERT_ID() </selectKey> INSERT INTO user(username,birthday,sex,address) VALUES(#{username},#{birthday},#{sex},#{address}) <!-- 使用mysql的uuid()生成主鍵 執行過程: 首先通過uuid()得到主鍵,將主鍵設定到user物件的id屬性中 其次在insert執行時,從user物件中取出id屬性值 --> <!-- <selectKey keyProperty="id" order="BEFORE" resultType="java.lang.String"> SELECT uuid() </selectKey> insert into user(id,username,birthday,sex,address) value(#{id},#{username},#{birthday},#{sex},#{address}) --> </insert>