Spring 学习笔记 (五):JDBC
简介
- 负责数据库资源管理和错误处理
- 封装 Java EE API 中的 JDBC
- 核心类为 JdbcTemplate
模块:
- core:核心包,核心功能类
- datasource:数据源包,访问数据源实用工具
- object:对象包,访问数据源,映射查询结果并返回业务对象
- support:支持包,包含对 core 包及 object 包的支持类
继承关系
- 继承抽象类 JdbcAccessor,具有以下公共属性
- DataSource:javax.sql.public.DataSource 作为访问数据库的标注接口,主要功能是获取数据库连接,也可以通过具体实现引入对数据库连接的缓冲池、分布式事务。
- SQLExceptionTranslator:org.springframework.jdbc.support.SQLExceptionTranslator 负责对 SQLException 进行转译工作。(委托 SQLExceptionTranslator 实现类来完成)
- 实现接口 JdbcOperations,定义 sql 操作集合 - CRUD
- execute() 方法:可以通过签名 execute(String sql) 执行 sql 语句,无返回
![]()
- update() 方法:更新数据,返回受影响的行数
![]()
- query() 方法:查询数据,数据映射通过 RowMapper 的实现类 BeanPropertyRowMapper 实现(前提是用户自定义 POJO 类中的字段与数据包中的字段相对应)
![]()
![]()
![]()
- execute() 方法:可以通过签名 execute(String sql) 执行 sql 语句,无返回
配置
- 配置数据源 Datasource
- 数据库驱动 driverClassName
- 数据源所在地址 url
- 访问数据库的用户名 username
- 访问数据库的密码 password
- 配置 JDBC 模板 jdbcTemplate(需要注入 dataSource)
- 定义 DAO 实现类 Bean(需要注入 jdbcTemplate)
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd">
<!-- 1配置数据源 -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<!--数据库驱动 -->
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<!--连接数据库的url -->
<property name="url" value="jdbc:mysql://192.168.0.100:3306/testdb?useUnicode=true&characterEncoding=utf8" />
<!--连接数据库的用户名 -->
<property name="username" value="abcde" />
<!--连接数据库的密码 -->
<property name="password" value="password" />
</bean>
<!-- 2配置JDBC模板 -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<!-- 默认必须使用数据源 -->
<property name="dataSource" ref="dataSource" />
</bean>
<!--定义id为accountDao的Bean-->
<bean id="accountDao" class="cn.test.dao.UserAccountDaoImpl">
<!-- 将jdbcTemplate注入到accountDao实例中 -->
<property name="jdbcTemplate" ref="jdbcTemplate" />
</bean>
</beans>






浙公网安备 33010602011771号