Spring jdbctemplate执行插入语句获取id的方法

spring java 文章 2023-03-06 19:47 942 0 全屏看文

AI助手支持GPT4.0

您可以使用以下方法来获取插入数据的id: 

1. 使用JdbcTemplate的update方法,并将KeyHolder对象作为第二个参数传递,如下所示:

public int addPerson(Person person) {
   String sql = "INSERT INTO person(name, age) VALUES (?, ?)";
   KeyHolder keyHolder = new GeneratedKeyHolder();
   jdbcTemplate.update(connection -> {
       PreparedStatement ps = connection
               .prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
       ps.setString(1, person.getName());
       ps.setInt(2, person.getAge());
       return ps;
   }, keyHolder);
   return keyHolder.getKey().intValue();
}

2. 使用SimpleJdbcInsert类并调用executeAndReturnKey方法来将数据插入到表中,并返回自动生成的id,如下所示:

public int addPerson(Person person) {
    SimpleJdbcInsert jdbcInsert = new SimpleJdbcInsert(jdbcTemplate)
            .withTableName("person")
            .usingGeneratedKeyColumns("id");
    Map<String, Object> parameters = new HashMap<>();
    parameters.put("name", person.getName());
    parameters.put("age", person.getAge());
    Number key = jdbcInsert.executeAndReturnKey(new MapSqlParameterSource(parameters));
    return key.intValue();
}


-EOF-

AI助手支持GPT4.0


国内超级便宜服务器

摸鱼人热门新闻聚合

钻级赞助商 我要加入

开发者在线工具

第三方支付技术请加QQ群

相关文章
所有spring的bean都初始化完成,然后在执行某一方法
springJdbcTemplate 执行 sql中包含in的用法
Spring里自带的数组集合用逗号拼接成字符串的方法
Spring jdbctemplate执行插入语句获取id的方法
spring项目输出当前的activeprofile
随便看看
线上防疫题库正确答案 2938
线上防疫题库正确答案(多选题) 4833
微信设置不可以使用小程序(游戏小程序) 5644
adsense申请已经支付的订单回退的网址 3215
BT面板查看网站入口、账号密码的命令 6017
ucloud海外服务器超级优惠券 3278
根据您的消费情况,您的延停权益已发生变化,变更后的延停权益为延停额度20.00元 5835
为什么我们喜欢迈克尔杰克逊。 4168
阿里云com、cn域名续费优惠码(2020年5月可用) 3590
阿里云com、cn域名续费优惠码(2020年6月可用) 3612