【javaweb】通过jdbctemplate获取刚插入数据的主键

第一种:传入sql和参数值,不返回主键
	public Integer save(String sql, final Object... args){
		return getJdbcTemplate().update(sql,args);
	}
或者
KeyHolder key = new GeneratedKeyHolder();
		PreparedStatementCreator psc = new PreparedStatementCreator() {
			
			@Override
			public PreparedStatement createPreparedStatement(Connection con)
					throws SQLException {
				PreparedStatement ps = con.prepareStatement(addSql,PreparedStatement.RETURN_GENERATED_KEYS);
				ps.setString(1, obj.getType());
				ps.setString(2, obj.getUser_id());
				ps.setDouble(3, obj.getCf_amt());
				ps.setString(4, obj.getCreate_tm());
				ps.setString(5, obj.getYbid());
				ps.setString(6,obj.getPbchannel());
				return ps;
			}
		};
		getJdbcTemplate().update(psc,key);
		int cf_id = key.getKey().intValue();
		obj.setCf_id(cf_id);
第二种:  传入sql和参数值,返回主键
public Integer save(final String sql, final Object... args){
	KeyHolder keyHolder = new GeneratedKeyHolder();
	return getJdbcTemplate().update(new PreparedStatementCreator() {
	    public PreparedStatement createPreparedStatement(Connection coon)
					throws SQLException {
		PreparedStatement ps = coon.prepareStatement(sql);
		for (int i = 0; i < args.length; i++) {
			ps.setObject(i+1, args[i]);
		}
	    return ps;
	    } 
	}, keyHolder);
}

第三种:传入sql、参数值、参数类型
public Integer save(String sql,int[] argTypes,Object... args){
	return getJdbcTemplate().update(sql, args, argTypes);
}



转自:  https://blog.csdn.net/u011983531/article/details/48858363


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值