您好,登錄后才能下訂單哦!
利用Mybatis如何實現返回插入的主鍵id?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
在mapper的xml文件中配置 useGeneratedKeys
以及 keyProperty 返回Id即可
<insert id="insertObject" useGeneratedKeys="true" keyProperty="id" parameterType="www.change.tm.model.Orders" > insert into orders <trim prefix="(" suffix=")" suffixOverrides=","> <if test="number!=null"> OrderNumber, </if> <if test="orderTime!=null"> orderTime, </if> </trim> values <trim prefix="(" suffix=")" suffixOverrides=","> <if test="number!=null"> #{number}, </if> <if test="orderTime!=null"> #{orderTime}, </if> </trim> </insert>
PS:Mybatis中insert中返回主鍵ID的方法
1、XyzMapper.xml
<insertid=“doSomething"parameterType="map"useGeneratedKeys="true"keyProperty=“yourId"> ... </insert>
或
<insert id=“doSomething" parameterType=“com.xx.yy.zz.YourClass" useGeneratedKeys="true" keyProperty=“yourId"> ... </insert>
2、XyzMapper.java
public int doSomething(Map<String, Object> parameters); or public int doSomething(YourClass c);
3、要在map或c中有一個字段名為yourId,Mybatis會自動把主鍵值賦給這個字段。
Map<String, Object> parameters = new HashMap<String, Object>(); parameters.put(“yourId”, 1234); ... mapper.doSomething(parameters); System.out.println(“id of the field that is primary key” + parameters.get(“yourId"));
或
YourClass c = new YourClass(); ... mapper.doSomething(c); System.out.println(“id of the field that is primary key” + c.yourId);
看完上述內容,你們掌握利用Mybatis如何實現返回插入的主鍵id的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。