欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用mybatis插入数据取主键 mybatiskeyjavamysql

程序员文章站 2022-05-09 19:25:38
...

       在使用mybatis操作MYSQL数据库时,想取插入数据后的主键,一直以为返回是主键,但取来取去得到的值是影响记录数。将我的代码贴一下,希望可以帮到其他人。

 

 

   <!-- 增加检测信息-->  
<insert id="addInspectionInfoSQL" parameterType="java.util.HashMap" keyProperty="IID" keyColumn="IID">
       <selectKey resultType="long" order="AFTER" keyProperty="IID">
        SELECT LAST_INSERT_ID() as IID
       </selectKey>
	  INSERT into We_InspectionInfo(LID,checkID,result,cost) 
		VALUES(#{LID},#{checkID},#{result},#{cost})
 </insert>

 

 

 

 

Map<String, Object> paramMap = new HashMap<String, Object>();
paramMap.put("LID",1);
paramMap.put("checkID",1);
paramMap.put("result","检测良好");
paramMap.put("cost",100);
Object key = this.sqlSessionTemplate.insert("addInspectionInfoSQL", paramMap);

    注意 返回来的 key 值不是插入后自键的主键 而是影响记录数。

 

数据插入后,mybatis将主键放后到了paramMap中

     取主键:Long  iid = paramMap.get("IID").toString();