本文主要介绍使用jdbcTemplate的实例分析,通过实例代码详细介绍。对大家的学习或者工作都有一定的参考价值,有需要的朋友可以参考一下。
本文主要介绍使用jdbcTemplate的实例分析,通过实例代码详细介绍。对大家的学习或者工作都有一定的参考价值,有需要的朋友可以参考一下。
Spring JDBC抽象框架核心包提供了JdbcTemplate类,其中JDBC模板是核心包的核心类,所以基于它封装了其他模板类,JDBC模板类是第一种工作模式。
JdbcTemplate类通过模板设计模式帮助我们剔除冗长的代码,只做我们需要做的事情(也就是可变的部分),帮助我们做固定的部分,比如连接的创建和关闭。
application-mybatis.xml中配置的DataSource注入到JdbcTemplate中,可以使用JdbcTemplate。
将以下内容添加到配置文件中:
bean id= data source class= org . Apache . commons . dbcp . basic data source destroy-method= close
属性名称=driverClassName 值=${jdbc.driverClassName}/!-加载驱动程序-
属性名称=url 值=${jdbc.url}/!-数据库的位置-
属性名称=用户名值=${jdbc.username}/!-数据库的用户名-
属性名称=password 值=${jdbc.password}/!-相应的密码-
属性名称=maxActive 值=50/!-连接池中活动的最大数量-
属性名称=minIdle 值=5/!-保持至少5个空闲连接-
属性名称=maxWait 值=5000/!-等5秒钟-
/bean
Java文件:
@自动连线
@限定符( dataSource )
公共数据源data source;
公共JdbcTemplate getJdbcTemplate(){
JDBC template JDBC template=new JDBC template(this . data source);
返回jdbcTemplate
}
此时,相关数据库的基本参数配置信息将在jdbcTemplate变量中,
jdbcTemplate类型中有以下方法
JdbcTemplate主要提供了以下五种方法:
Execute方法:可以用来执行任何SQL语句,一般用来执行DDL语句;
Update方法和batchUpdate方法:Update方法用于执行添加、修改、删除等语句;batchUpdate方法用于执行批处理相关语句;
查询方法和queryForXXX方法:用于执行查询相关的语句;
//1.查询一行数据并返回一个int结果。
JDBC template . query forint( select count(*)from test );
//2.查询一行数据,将该行数据转换成地图并返回
JDBC template . query formap( select * from test where name= name 5 );
//3.查询任意类型的一行数据,最后一个参数指定返回的结果类型。
JDBC template . query for object( select count(*)from test ,integer . class);
//4.查询一批数据,默认每一行数据都会转换成地图。
JDBC template . query forlist( select * from test );
//5.只查询一个列数据列表,列类型为String,列名为name。
jdbcTemplate.queryForList(
从测试中选择名称,其中name=?新对象[]{name5},string . class);
//6.查询一批数据,并将其作为SqlRowSet返回,类似于ResultSet,但不再绑定到连接。
SQL rowset RS=JDBC template . query forrowset( select * from test );
调用方法:用于执行存储过程和函数相关的语句。
支持的回调接口如下:
JdbcTemplate类支持的回调类:
预编译语句和存储过程创建回调:用于根据JdbcTemplate提供的连接创建相应的语句;
prepared statement creator:JDBC template提供的连接是通过回调获得的,用户使用这个连接创建相关的PreparedStatement;
可调用语句;creator:JDBC template提供的连接是通过回调获得的,用户使用这个连接创建相关的CallableStatement
预编译语句设置回调:用于设置预编译语句对应参数的值;
PreparedStatementSetter:通过回调获取JdbcTemplate提供的PreparedStatement,用户可以设置对应预编译语句对应参数的值;
BatchPreparedStatementSetter:类似于PreparedStatementSetter,但是对于批处理,需要指定批处理大小;
自定义回调:为用户提供一个扩展点,用户可以在指定类型的扩展点执行任意数量的所需操作;
ConnectionCallback:通过回调获取JdbcTemplate提供的连接,用户可以在这个连接中执行任意数量的操作;
StatementCallback:通过回调获取JdbcTemplate提供的语句,用户可以在该语句中执行任意数量的操作;
PreparedStatementCallback:通过回调获取JdbcTemplate提供的PreparedStatement,用户可以在这个PreparedStatement中执行任意数量的操作;
CallableStatementCallback:通过回调获取JdbcTemplate提供的CallableStatement,用户可以在这个CallableStatement中执行任意数量的操作;
结果集处理回调:通过回调处理结果集或将结果集转换成所需的形式;
RowMapper:用于将结果集中的每一行数据转换为所需的类型。用户需要实现方法Maprow (ResultSets,Intrownum)来完成每一行数据到相应类型的转换。
RowCallbackHandler:用于处理结果集的每一行。用户需要实现processrow (ResultSet)方法来完成处理。在这个回调方法中,不需要执行rs.next()。该操作由JdbcTemplate执行,用户只需按行获取数据,然后进行处理即可。
ResultSetExtractor:用于提取结果集数据。用户需要实现extractdata (resultsets)方法来处理结果集。用户必须处理整个结果集。
JdbcTemplate的执行过程:首先定义SQL,然后调用JdbcTemplate方法执行SQL,最后通过RowCallbackHandler回调处理ResultSet结果集。
与传统的JDBC编程方法相比,Spring JDBC解决方案要简单得多,只有变量部分需要我们来做,其余的由Spring JDBC框架来实现。
这就是本文的全部内容。希望对大家的学习有帮助,支持我们。