JdbcTemplate如何执行SQL语句?

在JdbcTemplate中执行SQL语句,可以通过以下方法进行:

  1. update():执行INSERT、UPDATE、DELETE语句,返回影响的行数:
int count = jdbcTemplate.update("UPDATE user SET name = ? WHERE id = ?", "John", 1);
  1. queryForObject():执行查询语句,将结果映射为对象或基本类型:
String name = jdbcTemplate.queryForObject("SELECT name FROM user WHERE id = ?", String.class, 1);
int count = jdbcTemplate.queryForObject("SELECT COUNT(*) FROM user", Integer.class);
  1. query():执行查询语句,将结果映射为List:
List<User> users = jdbcTemplate.query("SELECT * FROM user", 
    (rs, rowNum) -> new User(rs.getInt("id"), rs.getString("name"))
); 
  1. queryForMap():将结果映射为Map:
Map<String, Object> user = jdbcTemplate.queryForMap("SELECT * FROM user WHERE id = ?", 1);
  1. execute():执行任意SQL语句,没有返回值:
jdbcTemplate.execute("CREATE TABLE user (id INTEGER, name VARCHAR(50))"); 

所以,JdbcTemplate可以通过不同的方法灵活执行各种SQL语句,包括DDL、DML、查询等,相比直接使用JDBC API,代码更简洁易读。