分享牛,分享牛原创。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)