MyBatis取得新插入数据的ID

来源:互联网 发布:js 修改对象属性值 编辑:程序博客网 时间:2024/05/21 10:38

通常需要取得新插入数据的ID,可以通过一下方式来实现

方式一:

[html] view plain copy
  1. <insert id="doCreate" parameterType="Address" useGeneratedKeys="true" keyProperty="id">  
  2.     INSERT INTO Address(UId,LinkName,Address,Phone,Remark,Time,ZipCode)  
  3.     VALUES(#{uid},#{linkName},#{address},#{phone},#{remark},now(),#{zipCode})  
  4. </insert>  

方式二:

[html] view plain copy
  1. <insert id="doCreate" parameterType="Address" >  
  2.     <selectKey resultType="java.lang.Integer" keyProperty="id" order="AFTER" >  
  3.      SELECT @@IDENTITY  
  4.     </selectKey>  
  5.     INSERT INTO Address(UId,LinkName,Address,Phone,Remark,Time,ZipCode)  
  6.     VALUES(#{uid},#{linkName},#{address},#{phone},#{remark},now(),#{zipCode})  
  7. </insert>  

注意程序里取得address.getId()即可取到插入数据的自增ID,而不是取得sql执行的返回值。




Dao层接口

1
void insert(@Param("user") User user);

五、Service层实现

1
2
3
4
5
6
7
@Override
public void insert() {
    User user = new User();
    user.setName("zain");              
    dao.insert(user); 
    System.out.println(user.getUserId); //发现ID已经获取了
}

0 0
原创粉丝点击