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