jdbcTemplate使用方法实例解析

jdbcTemplate使用方法实例解析

本文主要介绍使用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框架来实现。

这就是本文的全部内容。希望对大家的学习有帮助,支持我们。

jdbcTemplate使用方法实例解析