关于springJDBC的新增

关于springJDBC的新增

# 具体遇到的问题
    ​如果我们的id是自增长,怎么在新增数据后获取到id的值
# 报错信息的截图

# 相关课程内容截图

# 尝试过的解决思路和结果

# 粘贴全部相关代码,切记添加代码注释(请勿截图)

在这里输入代码,可通过选择【代码语言】突出显示

正在回答 回答被采纳积分+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);
}

http://img1.sycdn.imooc.com//climg/5fd0333c093ade7b11900554.jpg

  • rock221 #1

    这个好麻烦啊,没有mybatis 方便。 。

    2021-05-21 20:36:25
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师