[英]Increment id based on last person in sql
每當我插入人時,我想獲取最后一個人的 id,並自動將其遞增 1,如果它不存在,則將 id 設為 1。我需要在哪里設置,我需要什么使用? 我認為應該在getter中完成還是?
有吸氣劑和二傳手的人
public class Person {
int id;
int name;
}
個人數據訪問 Object
public Person addPerson(Person person) {
String sql = "INSERT INTO people (id, name) values (?, ?);"
jdbcTemplate.update(sql, person.getId(), person.getName());
return person;
}
看來您需要將數據庫生成的 ID 應用回 Java object。 由於您說您使用的是 Postgres,因此您可以使用 RETURNING 子句來執行此操作。
我認為 Spring Boot 中有一種更通用的方法,但我不記得了,所以可能有一個更好的答案來涵蓋所有數據庫。
public Person addPerson(Person person) {
String sql = "INSERT INTO people (name) values (?) RETURNING id";
Object[] params = new Object[]{ person.getName() };
int newId = jdbcTemplate.queryForObject(sql, params, Integer.class);
person.setId(newId);
return person;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.