使用MyBatis往MySQL数据库插入一条记录后如果需要返回该条记录的自增主键值,可以用一下方法。
1,在mapper中指定keyProperty属性,如下所示,指定了keyProperty="id",其中id表示插入StockFee的主键值。xml代码
<insert id="insertStockFee" parameterType="com.***.***.****.***.entity.StockFee" useGeneratedKeys="true" keyProperty="id">
<![CDATA[
INSERT INTO stock_fee(uid,orderNo,amount,share,platformFee,buyCharge,netValue,productCode,payStatus,createTime,lastModTime)
VALUES(#{uid},#{orderNo},#{amount},#{share},#{platformFee},#{buyCharge},#{netValue},#{productCode},#{payStatus},#{createTime},#{lastModTime})
]]>
</insert>
2,StockFee.java
public class StockFee implements Serializable{
/**
* serialVersionUID
*/
private static final long serialVersionUID = -3788366959323844085L;
/**
* 主键id
*/
private int id;
/**
* 用户id
*/
private int uid;
/**
* 订单编号
*/
private String orderNo;
//set and get 方法
}
3,StockFeeDao.java
@Repository("stockFeeDao")
public class StockFeeDao extends BaseDao{
@Autowired
private StockFeeMapper stockFeeMapper;
public int insertStockFee(StockFee stockFee){
stockFeeMapper.insertLicaiStockFee(stockFee);
return stockFee.getId();
}
}
4,测试
@Autowired
private StockFeeService stockFeeService
@Test
public void insertLicaiGuYingBao(){
StockFee stockFee = new StockFee();
stockFee.setUid(2147483640);
stockFee.setOrderNo("p9456745532234005");
stockFee.setAmount(1203);
stockFee.setShare(3000.3423);
stockFee.setPlatformFee(1234320);
stockFee.setBuyCharge(123410);
stockFee.setNetValue(1234.21);
stockFee.setProductCode("1009002343");
stockFee.setPayStatus(0);
stockFee.setCreateTiidme(new Date());
stockFee.setLastModTime(new Date());
System.out.println(MessageFormat.format("output:id={0}",stockFee.getId()));
int id = stockFeeService.insertLicaiStockFee(stockFee);
System.out.println(MessageFormat.format("output:id={0}",id));
}
运行结果:
output:id=0
output:id=65
假如StockFeeDao.java改为:
public int insertStockFee(StockFee stockFee){
return stockFeeMapper.insertLicaiStockFee(stockFee);
}
再运行刚才的单元测试返回的是1,这表示插入成功的sql条数。
分享到:
相关推荐
只提供代码,自己去下载相关jar包谢谢只提供代码,自己去下载相关jar包谢谢只提供代码,自己去下载相关jar包谢谢只提供代码,自己去下载相关jar包谢谢只提供代码,自己去下载相关jar包谢谢
主要介绍了 Mybatis返回插入主键id的方法,在文章底部给大家补充了Mybatis中insert中返回主键ID的方法,非常不错,需要的朋友可以参考下
Mybatis与JDBC批量插入MySQL数据库性能测试,资源包含文档、代码和数据库。
mybatis获取自增主键的值 ,mybatis获取自增主键的值!
MyBatis 框架 demo 学习, for mysql 数据库
主要介绍了mybatis使用char类型字段查询oracle数据库时结果返回null问题的解决方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
MyBatis插入数据之后返回插入记录的id MyBatis插入数据的时候,返回该记录的id<insert id="insert
spring+springmvc+mybatis搭建的一个OA考勤管理系统附带mysql数据库
基于SpringMVC+Spring+MyBatis+Maven项目案例源码+数据库.zip 基于SpringMVC+Spring+MyBatis+Maven项目案例源码+数据库.zip 基于SpringMVC+Spring+MyBatis+Maven项目案例源码+数据库.zip 基于SpringMVC+Spring+...
主要介绍了Mybatis批量插入数据返回主键的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
spring+springmvc+mybatis搭建的一个系统附带mysql数据库, 里面包含两套不同风格的模版!
绝对能跑起来,带mybatis自动dao和手动dao两种方式,mysql数据库,就一张表
本篇文章主要介绍了MyBatis+MySQL 返回插入的主键ID的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
mybatis 的个人博客系统源码+数据库+项目说明.zip基于springboot + mybatis 的个人博客系统源码+数据库+项目说明.zip基于springboot + mybatis 的个人博客系统源码+数据库+项目说明.zip基于springboot + mybatis 的...
开发mybatis需要的jar包含MySQL数据库驱动,还有junit的jar包
NULL 博文链接:https://smallbee.iteye.com/blog/1155167
主要介绍了MyBatis在insert插入操作时返回主键ID的配置的相关资料,需要的朋友可以参考下
主要介绍了详解Java MyBatis 插入数据库返回主键,有兴趣的可以了解一下。
自己搭建的一个SpringBoot+MyBatis的小项目,代码很完整,里面写了AOP、HTTPS、过滤器、拦截器等等,可以相互学习借鉴。
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大...基于Bootstrap+JSP+Servlet+Mybatis高校成绩管理系统源码+数据库+项目说明.zip