MyBatis在Oracle中插入数据并返回主键的问题解决
来源:互联网 发布:js跨域post请求 编辑:程序博客网 时间:2024/06/03 04:49
引言: 在MyBatis中,希望在Oracle中插入数据之时,同时返回主键值
环境:MyBatis 3.2 , oracle, spring 3.2
mybatis 中的sql语句
<insert id="insertTest" parameterType="com.igool.rpc.db.model.thrift.SspTest"> <selectKey keyProperty="id" resultType="int" order="BEFORE"> select S_TEST.NEXTVAL from dual </selectKey> insert into ss_test(id,password) values(#{id}, #{password})</insert>
1)要点是这里使用了selectKey来定义返回新生成的PrimaryKey,这个情况仅仅适用于Oracle。
2)需要注意的地方是在Java代码中使用Integer类型,但是在MyBatis的映射文件中,使用java.math.BigDecimal类型,否则会报类型转换或者不匹配的错误。3)还需要注意的是在mapper接口中不能使用@Param("")绑定传入实体参数这样会主键会绑定到新建的实体中。
其他比如MySQL或者SQLServer的情况适用于以下情况:
<insert id="insert" parameterType="Spares" useGeneratedKeys="true" keyProperty="id"> insert into ss_test(id,password) values(#{id}, #{password})</insert>
MySQL就一般比较稳定不会出现oracle出现的各种情况。
这是比较常用的返回主键的方法。
阅读全文
0 0
- MyBatis在Oracle中插入数据并返回主键的问题解决
- MyBatis在Oracle中插入数据并返回主键的问题解决
- MyBatis在Oracle中插入数据的返回值
- mybatis oracle 返回插入的主键序列号
- MyBatis返回插入的数据主键
- mybatis和ibatis插入oracle数据库并返回主键id
- MyBatis插入数据返回主键
- mybatis插入数据返回主键
- MyBatis插入数据 返回插入的主键ID
- MyBatis插入数据返回插入对象的主键
- Mybatis mybatis插入数据返回主键
- mybatis oracle 批量插入返回主键
- Mybatis+MySQL插入数据后返回主键
- Mybatis 插入数据后返回主键值
- mybatis+mysql返回插入数据主键
- mybatis 插入数据返回主键id
- 【MyBatis框架点滴】——mybatis插入数据返回主键(mysql、oracle)
- MyBatis框架——mybatis插入数据返回主键(mysql、oracle)
- yii验证码
- 位移运算
- java的输入输出流
- spring boot(五):spring data jpa的使用
- Squid使用
- MyBatis在Oracle中插入数据并返回主键的问题解决
- linux下mysql5.7.19数据库备份(增量备份恢复)
- Android手机指纹因为因模板结构破损总结
- NYOJ201-作业题(最长升降子序列)
- STM8 STM8S208MB 入门
- java实现发送邮件
- mysql与sqlserver的一些语法、数据类型、关键字区别
- Linux的socket编程
- iOS远程真机之iTunes与iPhone的通信协议usbmuxd解析