使用原始JDBC操作数据的代码比较复杂,繁琐,因此spring专门提供了一个模板类JdbcTemplate来简化JDBC的操作。
1.JdbcTemplate的各种方法
execute(String sql):用于执行sql语句,通常执行DDL语句
int update(String sql):根据sql中的不带参数的增删改查语句执行数据操作,返回受影响的行数
Int update(String sql,Object...args):这个sql通常是带"?"占位符的,args用于为这些占位符参数赋值,同时返回受影响的行数
List<T>query(String sql,RowMapper<T> rowMapper):执行不带参数的select语句,返回多条值的情况,封装成T类型的泛型集合
事先要定义好RowMapper<T>对象rowMapper
List<T>query(String sql,Object[] args,RowMapper<T> rowMapper):执行带参数的select语句,返回多条值的情况,封装成T类型的泛型集合
事先要定义好RowMapper<T>对象rowMapper
SqlRowSet queryForRowSet(String sql):可用于查询部分列,或类似count(*)的聚合查询语句,返回SqlRowSet行集合。
需要调用next方法移到行集合的第一行,再用getInt(列号)获取。
TqueryForObject(String sql,RowMapper<T> rowMapper):执行不带参数的select语句,返回单条值的情况,封装成T类型
事先要定义好RowMapper<T>对象rowMapper
TqueryForObject(String sql,Object[] args,RowMapper<T> rowMapper):执行带参数的select语句,返回单条值的情况,封装成T类型
事先要定义好RowMapper<T>对象rowMapper
2.JdbcTemplate数据源
a.配置步骤与其关键代码
i.要在spring配置文件中配置数据源dataSource连接到数据库
ii.配置JdbcTemplate模板,将dataSource注入给JdbcTemplate的dataSource属性
iii.将JdbcTemplate实例化对象注入给调用者的JdbcTemplate属性
<!-- 配置数据源 -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/usersdb" />
<property name="username" value="root" />
<property name="password" value="123abc" />
</bean>
<!-- 配置jdbcTemplate模板 注入dataSource -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.jdbcTemplate">
<property name="dataSource" ref="dataSource"