(十八)JDBC获取存储过程和主键】的更多相关文章

目录 获取数据库自动生成的主键: JDBC调用存储过程 获取数据库自动生成的主键: update 更新操作以后,如果需要用到结果集,可以通过 PreparedStatement.getResultSet()方法获得结果集: getGeneratedKeys(); 获取执行完插入语句后自动生成的键,结果封装在一个结果集里面: PreparedStatement 对象,进行预编译的时候,可以接受2个参数,第二个参数表示是否自动获得自动生成的键,mysql 默认是自动获得 : 但是我们还是自己写上,毕…
JDBC获取表的主键 案例,创建订单,并根据订单号向订单明细表插入数据 sql语句: 创建两表 create table orders(  id number(4) primary key,  customer varchar2(20) not null,  orderdate date default sysdate); create table orderDetails(  id number(4) primary key,  order_id number(4),  product var…
<!--keyColumn keyProperty useGeneratedKeys 用于在插入数据后,能直接使用user.getId()获取主键--> <insert id="insert" keyColumn="Id" keyProperty="id" parameterType="com.chinacarbonal.carboncms.bean.UserRole" useGeneratedKeys=&q…
在程序开发中,我们经常有写数据库表的操作,数据表中经常带有主键自增序列,如何获取自增序列.spring中提供了相应的类 DataFieldMaxValueIncrementer. DataFieldMaxValueIncrementer 接口定义了3个获取下一个主键值的方法: int nextIntValue(): 获取下一个主键值,主键数据类型为int: long nextLongValue(): 获取下一个主键值,主键数据类型为long: String nextStringValue():…
检查代码后没发现mapper文件设置自增主键返回的问题,后来检查到,关闭事务后,执行完是可以获取返回的主键的, 我在mysql的客户端里关闭自动提交,发现使用select last_insert_id() 也是可以正确获取最新主键的, 我意识到可能是mybatis配置的问题. 问同事后发现了问题,将 defaultExecutorType 从 BATCH 改为 SIMPLE 即可. <?xml version="1.0" encoding="UTF-8" ?&…
通常我们在应用中对mysql执行了insert操作后,需要获取插入记录的自增主键.本文将介绍java环境下的4种方法获取insert后的记录主键auto_increment的值: 通过JDBC2.0提供的insertRow()方式 通过JDBC3.0提供的getGeneratedKeys()方式 通过SQL select LAST_INSERT_ID()函数 通过SQL @@IDENTITY 变量 1. 通过JDBC2.0提供的insertRow()方式 自jdbc2.0以来,可以通过下面的方式…
mybatis插入数据后获取自增主键 首先理解这就话的意思:就是在往数据库表中插入一条数据的同时,返回该条数据在数据库表中的自增主键值. 有什么用呢,举个例子: 你编辑一条新闻,同时需要给该新闻打上标签(可以一个或者多个:比如:女性,爱,钱等等),然后存储到数据库中.怎么存,肯定涉及到三张表,新闻表,标签表,新闻标签id关联表 新闻表插入数据简单,标签表插入数据简单.那新闻标签表呢,如何关联,那是不是需要新闻表和标签表插入数据的时候,返回它们的主键Id然后再存储到新闻标签表中. 这种场景还是蛮常…
增删改 Mybatis为我们提供了<insert>.<update>.<delete>标签来对应增删改操作 在接口中写增删改的抽象方法 void addEmp(Employee e);        void updateEmp(Employee e);        void deleteEmp(Employee e);   在映射文件中写sql语句 <insert id="addEmp" parameterType="com.fi…
转自:http://blog.csdn.net/ultrani/article/details/9351573 作者已经写的非常好了,我不废话了,直接转载收藏: 通常我们在应用中对mysql执行了insert操作后,需要获取插入记录的自增主键.本文将介绍java环境下的4种方法获取insert后的记录主键auto_increment的值: 通过JDBC2.0提供的insertRow()方式 通过JDBC3.0提供的getGeneratedKeys()方式 通过SQL select LAST_IN…
摘要 我们经常使用useGenerateKeys来返回自增主键,避免多一次查询.也会经常使用on duplicate key update,来进行insertOrUpdate,来避免先query 在insert/update.用起来很爽,但是经常踩坑,还不知为何.本篇就是深入分析获取自增主键的原理. 问题 首先摘两段我司一些老代码的bug 批量插入用户收藏 for (tries = 0; tries < MAX_RETRY; tries++) { final int result = colle…