使用JdbcTemplate插入数据 并返回当前数据在数据库等自增长主键 id

 

    /**
     *  插入数据库并返回id
     * @param sql 插入sql语句 // insert into t_sens_generator(name, type) VALUES(?,?)
     * @param agrs 参数数组 // new String[]{"Samuel", "0" }
     * @return
     */
    public String insertAndReturnId(String sql, String[] agrs){
        KeyHolder holder = new GeneratedKeyHolder();
        this.jdbcTemplate.update(connection -> {
//                    PreparedStatement ps = connection.prepareStatement(ovInSql, Statement.RETURN_GENERATED_KEYS);
            PreparedStatement ps = connection.prepareStatement(sql, new String[]{"id"});
            for (int i = 0; i < agrs.length; i++) {
                ps.setString(i+1, agrs[i]);
            }
            return ps;
        }, holder);
        Integer realId = Objects.requireNonNull(holder.getKey()).intValue();
        return realId.toString();
    }

 

展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读