代码改变世界

JdbcTemplate 基本使用

2020-05-06 14:27  小伍2013  阅读(466)  评论(0编辑  收藏  举报

简介

JdbcTemplate 是 Spring 对 JDBC 的封装,目的是使 JDBC 更加易于使用。JdbcTemplate 是 Spring 的一部分。JdbcTemplate 处理了资源的建立和释放。他帮助我们避免一些常见的错误,比如忘了总要关闭连接。

在 JdbcTemplate 中执行 SQL 语句的方法大致分为3类:

  1. execute:可以执行所有SQL语句,没有返回值,一般用于执行DDL语句。
  2. update:返回影响的行数,用于执行INSERTUPDATEDELETE等DML语句。
  3. queryXxx:用于SELECT等DQL数据查询语句。

常用方法

public void execute(final String sql);
public int update(final String sql);
public int queryForInt(String sql);
public long queryForLong(String sql);
public <T> T queryForObject(String sql, Class<T> requiredType);
public Map<String, Object> queryForMap(String sql);
public List<Map<String, Object>> queryForList(String sql);
public <T> List<T> query(String sql, RowMapper<T> rowMapper);
public class BeanPropertyRowMapper<T> implements RowMapper<T>;

使用示例

jdbcTemplate.execute("CREATE TABLE product...;");
public int update("INSERT INTO product VALUES (NULL, ?, ?);", "iPhoneX", 8888);
public int queryForInt("SELECT id FROM product WHERE price=8888;");
public long queryForLong("SELECT COUNT(*) FROM product;");
public String queryForObject("SELECT pname FROM product WHERE price=7777;", String.class);
public Map<String, Object> queryForMap("SELECT * FROM product WHERE id=?;", 6);
public List<Map<String, Object>> queryForList("SELECT * FROM product WHERE pid<?;", 8);
public List<Product> query("SELECT * FROM product;", new RowMapper<Product>() {...});
public List<Product> query("SELECT * FROM product;", new BeanPropertyRowMapper<>(Product.class));

参考:https://blog.csdn.net/weixin_40001125/article/details/88538576