mybatis insert 返回主键

分享牛,分享牛原创。ssm整合的时候,我们操作mybatis insert 的时候,需要返回插入的主键,因为主键是自增的,这个时候怎么办呢?很简单看一下下面的代码示例:

1.1.1. 代码定义

public interface IBaseService<M,QM extends BaseModel> {
public void create(M m);
public int createAndRetuenId(M m);
public void update(M m);
public void delete(int uuid);
public M getByUuid(int uuid);
public Page<M> getByConditionPage(QM qm);
}

1.1.2. xml定义

  <insert id="createAndRetuenId"  useGeneratedKeys="true" keyProperty="uuid" parameterType="com.shareniu.car.vo.CartModel">
     	insert into tbl_cart (customerUuid,goodsUuid,buyNum)
     	 values(#{customerUuid},#{goodsUuid},#{buyNum})
     </insert>

keyProperty 注意这里就是传入的对象中的属性,最终的返回主键的值封装在这个属性中。

1.1.3. java代码

CartModel m=new CartModel();
m.setBuyNum(5);
m.setGoodsUuid(2);
m.setCustomerUuid(3);
int createAndRetuenId = getiCartService.createAndRetuenId(m);
System.out.println(m.getUuid());

1.1.4. 注意

1.返回值int只是 标示sql是否执行成功。

2.keyProperty 返回的值才是真正的主键的值,直接从插入的对象中取值即可这里我们m.getUuid()。

分享牛原创(尊重原创 转载对的时候第一行请注明,转载出处来自分享牛http://blog.csdn.net/qq_30739519)

你可能感兴趣的:(mybatis)