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
    1. execute() 方法:可以通过签名 execute(String sql) 执行 sql 语句,无返回
    2. update() 方法:更新数据,返回受影响的行数
    3. query() 方法:查询数据,数据映射通过 RowMapper 的实现类 BeanPropertyRowMapper 实现(前提是用户自定义 POJO 类中的字段与数据包中的字段相对应)


配置

  • 配置数据源 Datasource
    1. 数据库驱动 driverClassName
    2. 数据源所在地址 url
    3. 访问数据库的用户名 username
    4. 访问数据库的密码 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&amp;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>
posted @ 2021-03-17 13:48  Uyiefiz  阅读(110)  评论(0)    收藏  举报