@Component
public class PersonDao {
private final JdbcTemplate jdbcTemplate;
@Autowired
public PersonDao(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
public List<Person> index() {
return jdbcTemplate.query("SELECT * FROM person", new BeanPropertyRowMapper<>(Person.class));
}
public Person show(int id){
return jdbcTemplate.query("SELECT * FROM person WHERE id=?", new Object[]{id}, new BeanPropertyRowMapper<>(Person.class))
.stream().findAny().orElse(null);
}
public void save(Person person){
jdbcTemplate.update("INSERT INTO person (name, age, email) VALUES (?, ?, ?)", person.getName(), person.getAge(), person.getEmail());
}
public void edit(Integer id, Person person) {
jdbcTemplate.update("UPDATE person SET name = ?, age = ?, email = ? WHERE id = ?", person.getName(), person.getAge(), person.getEmail(), id);
}
public void delete(Integer id) {
jdbcTemplate.update("DELETE FROM person WHERE id = ?", id);
}
}
4条答案
按热度按时间dly7yett1#
查看Chapter 11. Data access using JDBC参考。您可以使用
jdbcTemplate.update
作为:EDIT已按要求添加导入
以下是代码用法:
bttbmeg02#
我得到的ID生成的数据库(MSSQL)后插入如下,导入:
和代码片段:
piwo6bdm3#
JdbcTemplate是Spring的核心,另一个选择是使用SimpleJdbcInsert。
您仍然可以@Autowire jdbcTemplate,对我来说,这比使用jdbcTemplate.update()方法和KeyHolder获取实际的id更方便。
示例代码片段使用Apache Derby进行了测试,应该可以与常用数据库一起使用。
使用Spring JPA是另一种选择-如果ORM适合您的话。
tcbh2hod4#