Spring--JdbcTemplate简介和常用API

JdbcTemplate简介

Spring对数据库的操作在jdbc上面做了深层次的封装,使用spring的注入功能,可以把DataSource注册到JdbcTemplate之中。

JdbcTemplate位于 spring-jdbc-4.3.0.RELEASE.jar 中。其全限定命名为
org.springframework.jdbc.core.JdbcTemplate。要使用JdbcTemlate还需一个 spring-tx-4.3.0.RELEASE.jar , 这个包包含了事务和异常控制。

JdbcTemplate主要提供以下方法:
1. 构造方法
  • JdbcTemplate()
    为bean的使用构造一个新的JdbcTemplate。
  • JdbcTemplate(DataSource dataSource)
    构造一个新的JdbcTemplate,给定一个DataSource来获取连接。
  • JdbcTemplate(DataSource dataSource, boolean lazyInit)
    构造一个新的JdbcTemplate,给定一个DataSource来获取连接,可以指定是否懒加载。
2. execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句
  • Object execute(CallableStatementCreator csc, CallableStatementCallback action)
    执行JDBC数据访问操作,实现为处理JDBC CallableStatement的回调操作。
  • Object execute(ConnectionCallback action)
    执行JDBC数据访问操作,实现为在JDBC连接上进行的回调操作。
  • Object execute(PreparedStatementCreator psc, PreparedStatementCallback action)
    执行JDBC数据访问操作,实现为在JDBC PreparedStatement上进行的回调操作。
  • Object execute(StatementCallback action)
    执行JDBC数据访问操作,实现为处理JDBC语句的回调操作。
  • void execute(String sql)
    发出单个SQL执行,通常是DDL语句。
  • Object execute(String callString, CallableStatementCallback action)
    执行JDBC数据访问操作,实现为处理JDBC CallableStatement的回调操作。
  • Object execute(String sql, PreparedStatementCallback action)
    执行JDBC数据访问操作,实现为在JDBC PreparedStatement上进行的回调操作。
  • protected Map extractOutputParameters(CallableStatement cs, List parameters)
    从完成的存储过程中提取输出参数。
  • protected Map extractReturnedResults(CallableStatement cs, List updateCountParameters, List resultSetParameters, int updateCount)
    从完成的存储过程中提取返回结果集。
3. query方法及queryForXXX方法:用于执行查询相关语句;
  • Object query(PreparedStatementCreator psc, PreparedStatementSetter pss, ResultSetExtractor rse)
    使用预准备语句进行查询,允许PreparedStatementCreator和PreparedStatementSetter。
  • Object query(PreparedStatementCreator psc, ResultSetExtractor rse)
    使用预准备语句进行查询,使用ResultSetExtractor读取ResultSet。
  • void query(PreparedStatementCreator psc, RowCallbackHandler rch)
    使用预准备语句进行查询,使用RowCallbackHandler逐行读取ResultSet。
  • List query(PreparedStatementCreator psc, RowMapper rowMapper)
    使用预准备语句进行查询,通过RowMapper将每一行映射到Java对象。
  • Object query(String sql, Object[] args, int[] argTypes, ResultSetExtractor rse)
    查询给定SQL以从SQL创建预准备语句以及绑定到查询的参数列表,使用ResultSetExtractor读取ResultSet。
  • void query(String sql, Object[] args, int[] argTypes, RowCallbackHandler rch)
    查询给定SQL以从SQL创建预准备语句以及绑定到查询的参数列表,使用RowCallbackHandler以每行为基础读取ResultSet。
  • List query(String sql, Object[] args, int[] argTypes, RowMapper rowMapper)
    查询给定SQL以从SQL创建预准备语句以及绑定到查询的参数列表,通过RowMapper将每一行映射到Java对象。
  • Object query(String sql, Object[] args, ResultSetExtractor rse)
    查询给定SQL以从SQL创建预准备语句以及绑定到查询的参数列表,使用ResultSetExtractor读取ResultSet。
  • void query(String sql, Object[] args, RowCallbackHandler rch)
    查询给定SQL以从SQL创建预准备语句以及绑定到查询的参数列表,使用RowCallbackHandler以每行为基础读取ResultSet。
  • List query(String sql, Object[] args, RowMapper rowMapper)
    查询给定SQL以从SQL创建预准备语句以及绑定到查询的参数列表,通过RowMapper将每一行映射到Java对象。
  • Object query(String sql, PreparedStatementSetter pss, ResultSetExtractor rse)
    使用预准备语句进行查询,使用ResultSetExtractor读取ResultSet。
  • void query(String sql, PreparedStatementSetter pss, RowCallbackHandler rch)
    查询给定SQL以从SQL创建预准备语句和PreparedStatementSetter实现,该实现知道如何将值绑定到查询,使用RowCallbackHandler以每行为基础读取ResultSet。
  • List query(String sql, PreparedStatementSetter pss, RowMapper rowMapper)
    查询给定SQL以从SQL创建预准备语句和PreparedStatementSetter实现,该实现知道如何将值绑定到查询,通过RowMapper将每一行映射到Java对象。
  • Object query(String sql, ResultSetExtractor rse)
    在给定静态SQL的情况下执行查询,使用ResultSetExtractor读取ResultSet。
  • void query(String sql, RowCallbackHandler rch)
    执行给定静态SQL的查询,使用RowCallbackHandler以每行为基础读取ResultSet。
  • List query(String sql, RowMapper rowMapper)
    执行给定静态SQL的查询,通过RowMapper将每一行映射到Java对象。
  • int queryForInt(String sql)
    给定静态SQL,执行导致int值的查询。
  • int queryForInt(String sql, Object[] args)
    查询给定SQL以从SQL创建预准备语句以及绑定到查询的参数列表,从而生成int值。
  • int queryForInt(String sql, Object[] args, int[] argTypes)
    查询给定SQL以从SQL创建预准备语句以及绑定到查询的参数列表,从而生成int值。
  • List queryForList(String sql)
    给定静态SQL,执行结果列表的查询。
  • List queryForList(String sql, Class elementType)
    给定静态SQL,执行结果列表的查询。
  • List queryForList(String sql, Object[] args)
    查询给定SQL以从SQL创建预准备语句以及绑定到查询的参数列表,期望结果列表。
  • List queryForList(String sql, Object[] args, Class elementType)
    查询给定SQL以从SQL创建预准备语句以及绑定到查询的参数列表,期望结果列表。
  • List queryForList(String sql, Object[] args, int[] argTypes)
    查询给定SQL以从SQL创建预准备语句以及绑定到查询的参数列表,期望结果列表。
  • List queryForList(String sql, Object[] args, int[] argTypes, Class elementType)
    查询给定SQL以从SQL创建预准备语句以及绑定到查询的参数列表,期望结果列表。
  • long queryForLong(String sql)
    给定静态SQL,执行导致long值的查询。
  • long queryForLong(String sql, Object[] args)
    查询给定SQL以从SQL创建预准备语句以及绑定到查询的参数列表,从而产生长值。
  • long queryForLong(String sql, Object[] args, int[] argTypes)
    查询给定SQL以从SQL创建预准备语句以及绑定到查询的参数列表,从而产生长值。
  • Map queryForMap(String sql)
    给定静态SQL,执行结果Map的查询。
  • Map queryForMap(String sql, Object[] args)
    查询给定SQL以从SQL创建预准备语句以及绑定到查询的参数列表,期望结果Map。
  • Map queryForMap(String sql, Object[] args, int[] argTypes)
    查询给定SQL以从SQL创建预准备语句以及绑定到查询的参数列表,期望结果Map。
  • Object queryForObject(String sql, Class requiredType)
    给定静态SQL,对结果对象执行查询。
  • Object queryForObject(String sql, Object[] args, Class requiredType)
    查询给定SQL以从SQL创建预准备语句以及绑定到查询的参数列表,期望结果对象。
  • Object queryForObject(String sql, Object[] args, int[] argTypes, Class requiredType)
    查询给定SQL以从SQL创建预准备语句以及绑定到查询的参数列表,期望结果对象。
  • Object queryForObject(String sql, Object[] args, int[] argTypes, RowMapper rowMapper)
    查询给定SQL以从SQL创建预准备语句以及绑定到查询的参数列表,通过RowMapper将单个结果行映射到Java对象。
  • Object queryForObject(String sql, Object[] args, RowMapper rowMapper)
    查询给定SQL以从SQL创建预准备语句以及绑定到查询的参数列表,通过RowMapper将单个结果行映射到Java对象。
  • Object queryForObject(String sql, RowMapper rowMapper)
    执行给定静态SQL的查询,通过RowMapper将单个结果行映射到Java对象。
  • SqlRowSet queryForRowSet(String sql)
    给定静态SQL,执行SqlRowSet的查询。
  • SqlRowSet queryForRowSet(String sql, Object[] args)
    查询给定SQL以从SQL创建预准备语句以及绑定到查询的参数列表,期望SqlRowSet。
  • SqlRowSet queryForRowSet(String sql, Object[] args, int[] argTypes)
    查询给定SQL以从SQL创建预准备语句以及绑定到查询的参数列表,期望SqlRowSet。
4. update方法及batchUpdate方法:update方法用于执行新增、修改、删除等语句;batchUpdate方法用于执行批处理相关语句
  • int update(PreparedStatementCreator psc)
    使用PreparedStatementCreator发出单个SQL更新操作(例如insert,update或delete语句)以提供SQL和任何必需参数。

  • int update(PreparedStatementCreator psc, KeyHolder generatedKeyHolder)
    使用PreparedStatementCreator发出更新语句,以提供SQL和任何必需的参数。

  • ** protected int update(PreparedStatementCreator psc, PreparedStatementSetter pss)**

  • int update(String sql)
    发出单个SQL更新操作(例如插入,更新或删除语句)。

  • int update(String sql, Object[] args)
    通过准备好的语句发出单个SQL更新操作(例如插入,更新或删除语句),绑定给定的参数。

  • int update(String sql, Object[] args, int[] argTypes)
    通过准备好的语句发出单个SQL更新操作(例如插入,更新或删除语句),绑定给定的参数。

  • int update(String sql, PreparedStatementSetter pss)
    使用PreparedStatementSetter发出更新语句,以使用给定的SQL设置绑定参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值