springboot jdbctemplate 新增返回id
时间: 2023-09-02 08:04:27 浏览: 129
在Spring Boot中使用JdbcTemplate新增数据并返回自动生成的ID可以通过以下步骤实现:
1. 首先,创建一个JdbcTemplate对象,可以通过注入或者自己手动创建JdbcTemplate实例。
2. 在新增数据的方法中,使用JdbcTemplate的update方法执行插入SQL语句,并指定是否返回自动生成的ID。
3. 在insert语句中使用"RETURNING id"语句来获取新插入数据的ID,该语句的具体语法可能会根据你使用的数据库系统而有所不同。
4. 通过update方法的第二个参数,传入一个SqlParameterSource对象,用于指定插入语句中的参数。
5. 使用GeneratedKeyHolder对象来保存自动生成的ID。
6. 通过GeneratedKeyHolder对象的getKey()方法获取新插入数据的ID。
下面是一个示例代码:
```java
@Autowired
private JdbcTemplate jdbcTemplate;
public Long addData(Data data) {
String sql = "INSERT INTO table_name (column1, column2) VALUES (?, ?)";
KeyHolder keyHolder = new GeneratedKeyHolder();
jdbcTemplate.update(connection -> {
PreparedStatement ps = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
ps.setString(1, data.getColumn1());
ps.setString(2, data.getColumn2());
return ps;
}, keyHolder);
return keyHolder.getKey().longValue();
}
```
代码中的Data是一个自定义的数据对象,table_name是表名,column1和column2是表中的列名。
通过以上步骤,就可以实现在Spring Boot中使用JdbcTemplate新增数据并返回自动生成的ID。
阅读全文