MyBatis+MySQL 返回插入的主键ID

来源:互联网 发布:域名dns劫持 编辑:程序博客网 时间:2024/06/15 18:33

有的时间我们会遇到这样的需求,在数据库中添加一条记录,我们需要把添加成功的记录主键返回。然后在处理。

比如 添加给车辆表添加一个车辆,同时还要把加车辆添加到驾驶员表下面。这个时候就要用到返回主键了

方法:在mapper中指定keyProperty属性,示例如下:

XML代码

<insert id="insertAndGetId" useGeneratedKeys="true" keyProperty="carId" parameterType="com.chenzhou.mybatis.Car">      insert into car(userName,password,comment)      values(#{carname},#{carColor},#{comment})  </insert>  

上所示,我们在insert中指定了keyProperty=”carId”,其中carId代表插入的User对象的主键属性。

java对象
car.java

public class User {      private int carId;      private String carName;      private String carColor;      private String comment;      //setter and getter  }  

CarDao.java

public interface carDao {      public int insertAndGetId(Car car);  }  

Car car= new Car ();
user.setCarName(“chenzhou”);
user.setCarColor(“xxxx”);
user.setComment(“测试插入数据返回主键功能”);

System.out.println(“插入前主键为:”+car.getCarId());
userDao.insertAndGetId(user);//插入操作
System.out.println(“插入后主键为:”+car.getCarId());

下面就会返回最新的id了。