文档章节

jdbcTemplate update PreparedStatementCreator

zvc888
 zvc888
发布于 2016/05/07 10:18
字数 83
阅读 41
收藏 1
点赞 2
评论 1
final String sql = "INSERT INTO game_user(user_id,nickname,user_account,create_time) VALUES(game_user_id.nextval,?,?,sysdate)";
		KeyHolder kh = new GeneratedKeyHolder(); 
		this.getJdbcTemplate().update(new PreparedStatementCreator() {
			
			@Override
			public PreparedStatement createPreparedStatement(Connection con) throws SQLException {
				PreparedStatement ps = con.prepareStatement(sql,new String[]{"user_id"});
                ps.setString(1, nickname);
                ps.setString(2, userAccount);
                return ps;
			}
		},kh);
		List<Map<String, Object>> n = kh.getKeyList();
		if(n != null && !n.isEmpty())  {
			return (Integer) n.get(0).get("user_id");
		}
//		[{USER_ID=40}]

 

多执行几次就报错??????

这是因为durid版本太低

© 著作权归作者所有

共有 人打赏支持
zvc888
粉丝 4
博文 107
码字总数 17062
作品 0
深圳
程序员
加载中

评论(1)

zvc888
zvc888
需要讲druid 更新到最新的版本
spring事务回滚失败,通过自定义PreparedStatementCreator获取自增长id

service是这样实现的 @Autowired(required=false) private JdbcTemplate jdbc; @Transactional public void save(){ final String sql = "insert into member(nm) values('test')"; KeyHold......

AnyLine
2016/01/28
326
0
jdbcTemplate 插入数据到oracle 获得id

final String sql = "INSERT INTO gameuser(userid,nickname,useraccount,createtime) VALUES(gameuserid.nextval,?,?,sysdate)"; KeyHolder kh = new GeneratedKeyHolder(); this.getJdbcTe......

os_vc
2016/05/07
55
0
Spring KeyHolder

国庆假期抽时间学习一下,在看spring的过程中,看到,我有点惊讶,这种设计模式真是的太巧妙了,平时为什么想不到,也运用不上,所以在此记录下来,也分享一下 KeyHolder 你觉得这个接口很奇...

小彬彬_
2016/10/04
46
0
spring中的JdbcTemplate简单记录

JdbcTemplate主要提供以下五类方法: execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句; update方法及batchUpdate方法:update方法用于执行新增、修改、删除等语句;batchUpdate...

刘谱_smile
2015/07/15
0
0
对JDBC的支持 之 7.2 JDBC模板类

JDBC模板类 概述 Spring JDBC抽象框架core包提供了JDBC模板类,其中JdbcTemplate是core包的核心类,所以其他模板类都是基于它封装完成的,JDBC模板类是第一种工作模式。 JdbcTemplate类通过模...

heroShane
2014/02/27
0
0
SpringJDBC jdbcTemplate获取自增主键

String sql = "insert into notice_type(typeName,configType,state,creatorID,corpID,createTime) values (?,?,?,?,?,?)"; Object[] objs = new Object[]{ noticeType.getTypename(), notic......

乾坤刀
2017/06/17
0
0
Spring JdbcTemplate方法详解

JdbcTemplate主要提供以下五类方法: execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句; update方法及batchUpdate方法:update方法用于执行新增、修改、删除等语句;batchUpdate...

zqcju
2014/06/13
0
6
Spring AOP根据JdbcTemplate方法名动态设置数据源

说明:现在的场景是,采用MySQL Replication的方式在两台不同服务器部署并配置主从(Master-Slave)复制; 并需要程序上的数据操作方法访问不同的数据库,比如,update方法访问主数据库服务器...

cwalet
2011/11/28
0
9
Alibaba 面经

女士们 and 乡亲们。今天分享一个面经。阿里巴巴。阿里巴巴北京这面的公司工作环境真的是没的说啊,好好好~ 走进去就感觉此处静悄悄,唯有思维在燃烧。 接下来我就针对本次阿里巴巴之行做一点...

hyssop
2016/09/03
131
0
spring4.0+jdbc+oracle获取自增主键

最近在用spring4.0,用spring的jdbctemplate,从oracle数据库中添加数据,然后获取自增主键,可是出现的问题,可以正常的插入数据但是不能获取到主键值,请大家帮忙看看。我用的oracle驱动是o...

大风车呐转呀转
2015/12/17
1K
3

没有更多内容

加载失败,请刷新页面

加载更多

下一页

07、Vue.js---Vue对象的实例方法和属性

Vue对象的实例属性和方法分为全局和局部实例属性和方法。全局和局部的区别在于调用者不同。 · 局部实例属性和方法: vm | this .$方法名或属性; · 全局实例熟悉和方法: Vue .方法名或属性...

秋季长青
10分钟前
0
0
乐观锁

最近公司一个项目中会遇到一个用户记录被多次插入的情况。其实在保存之前先判断有没有的。 觉得可以采用乐观锁机制来解决问题。 JPA之@Version进行乐观锁并发更新 使用JPA实现乐观锁 spring...

miaojiangmin
14分钟前
1
0
并发插入引发的死锁问题排查

一.业务背景 我们现在的业务是一款数据产品,有不少实时计算和爬取来的数据都汇总到大数据仓库、数据挖掘平台ODPS上。然后应用在读取这些数据时,这些数据会先导入到并发读能力更强,适合结构...

tantexian
24分钟前
0
0
docker 搭建nginx+php5.6+mysql

因为要重新做服务器系统,正好把公司官网,放到容器中,生成个镜像,以后就不用管它了。我看看公司官网使用php写的,并且使用thinkPHP3.1的框架,看到这里崩溃了。没办法,服务器得做系统,硬...

始终初心
26分钟前
0
0
应用实战:从Redis到Aerospike,我们踩了这些坑

个推专注为开发者们提供消息推送服务多年。通过个推SDK,手机终端与服务器建立长连接,维持在线状态。然而在网络异常等情况下,消息无法实时送达到终端用户,因而推送服务器建立了一份离线消...

个推
30分钟前
0
0
0718日志

c端线上地址 http://x.diandanme.com/fe/?d=183#/ 什么时候来需求,我做好准备了吗? router取值问题 --host 192.168.33.121 git下拉覆盖本地文件 $ git fetch --all $ git reset origin/mas...

大美琴
30分钟前
0
0
Swift 学习网址推荐

1."航哥" http://www.hangge.com/blog/cache/category_72_1.html 2.https://nintendoboy.gitbooks.io/swift-study-note-v2/content/swift.html...

west_zll
31分钟前
1
0
istio 0.8 服务限流配置

此任务说明如何使用Istio动态限制服务的流量。 在你开始之前 按照安装指南中的快速入门说明在Kubernetes群集中设置Istio 。 部署Bookinfo示例应用程序。 初始化应用程序版本路由以将reviews...

xiaomin0322
32分钟前
0
0
SpringCloud架构设计

最近一直在针对SpringCloud框架做项目,从中踩了不少的坑,也渐渐梳理出了一些内容,由于SpringCloud作为一个全家桶,其中东西太多,所以这时候就要有所取舍,这里就想把自己比较常用组件及架...

xiaoxin
32分钟前
2
0
XamarinSQLite教程创建数据库

XamarinSQLite教程创建数据库 安装SQLite/SQL Server Compact Toolbox后,就可以使用该插件创建数据库了。操作步骤如下: (1)在Visual Studio中,单击“工具”|SQLite/SQL Server Compact ...

大学霸
35分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部