关于springJDBC的新增
# 具体遇到的问题
如果我们的id是自增长,怎么在新增数据后获取到id的值
# 报错信息的截图
# 相关课程内容截图
# 尝试过的解决思路和结果
# 粘贴全部相关代码,切记添加代码注释(请勿截图)
在这里输入代码,可通过选择【代码语言】突出显示
16
收起
正在回答 回答被采纳积分+1
1回答
好帮手慕阿慧
2020-12-09 10:15:50
同学你好,Spring使用KeyHolder接口保存新增记录对应的主键。获得自增的主键,参考代码如下:
public void insertKey(final Employee employee){
//利用update方法实现数据写入操作
KeyHolder keyHolder = new GeneratedKeyHolder();
jdbcTemplate.update(new PreparedStatementCreator(){
public PreparedStatement createPreparedStatement(Connection connection) throws SQLException {
PreparedStatement ps = connection.prepareStatement("insert into employee(ename,salary,dname,hiredate) values(?,?,?,?)",
Statement.RETURN_GENERATED_KEYS);
Object []values={ employee.getEname(), employee.getSalary(), employee.getDname(), employee.getHiredate()};
for(int i=0;i<values.length;i++)
{
ps.setObject(i+1, values[i]);
}
return ps;
}
}, keyHolder);
}
java工程师2020版
- 参与学习 人
- 提交作业 9410 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星