本文主要介绍使用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框架来实现。
这就是本文的全部内容。希望对大家的学习有帮助,支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。