1. 程式人生 > >Mybatis_插入資料後返回主鍵ID_返回資料欄位與類中欄位相對應

Mybatis_插入資料後返回主鍵ID_返回資料欄位與類中欄位相對應

目的:利用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>