Spring JDBC(Spring的数据库开发)

??Spring的JDBC模块负责数据库资源管理和错误处理,大大简化了开发人员对数据库的操作,使得开发人员可以从烦琐的数据库操作中解脱出来,从而将更多的精力投入到编写业务逻辑中。

Spring JdbcTemplate的解析

??针对数据库的操作,Spring框架提供了JdbcTemplate 类,该类是Spring框架数据抽象层的基础,其他更高层次的抽象类却是构建于JdbcTemplate 类之上。可以说,JdbcTemplate 类是Spring JDBC的核心类。
??JdbcTemplate类的继承关系十分简单。它继承自抽象类JdbcAccessor,同时实现了JdbcOperations接口。JdbcTemplate 类的直接父类是JdbcAccessor,该类为子类提供了一些访问数据库时使用的公共属性,具体如下。
??DataSource:其主要功能是获取数据库连接,具体实现时还可以引入对数据库连接的缓冲池和分布事务的支持,它可以作为访问数据库资源的标准接口。
??SQLExceptionTranslator:org.springframework.jdbc.support.SQLExceptionTranslator接口负责对SQLException进行转译工作。通过必要的设置或者获取SQLExceptionTranslator中的方法,可以使JdbcTemplate在需要处理SQLException时,委托SQLExceptionTranslator的实现类来完成相关的转译工作。
??JdbcOperations接口定义了在JdbcTemplate类中可以使用的操作集合,包括添加、修改、查询和删除等操作。

Spring JDBC的配置

??Spring JDBC模块主要由4个包组成,分别是core(核心包)、dataSource(数据包)、object(对象包)和support(支持包)
Spring JDBC(Spring的数据库开发)

<?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-4.3.xsd">
	<!--1配置数据源 -->
	<bean id="dataSource"
		class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<!--数据库驱动 -->
		<property name="driverClassName" value="com.mysql.jdbc.Driver" />
		<!--连接数据库的ur1 -->
		<property name="url" value="jdbc:mysql://localhost:3306/db_spring" />
		<!--连接数据库的用户名 -->
		<property name="username" value="root" />
		<!--连接数据库的密码 -->
		<property name="password" value="root" />
	</bean>
	<!--2配置JDBC模板 -->
	<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
		<!--默认必须使用数据源 -->
		<property name="dataSource" ref="dataSource" />
	</bean>
	<!--3配置注入类 -->
	<bean id="xxx" class="Xxx">
		<property name="jdbcTemplate" ref="jdbcTemplate" />
	</bean>
</beans>

??在上述代码中定义了3个Bean,分别是 dataSource、jdbcTemplate和需要注入类的Bean。其中 dataSource对应的org. springframework.jdbc datasource.DriverManagerDataSource类用于对数据源进行配置,jdbcTemplate对应的org. springframework jdbc.core.JdbcTemplate类中定义了JdbcTemplate的相关配置。上述代码中data Source的配置就是JDBC连接数据库时所需的4个属性
??表4.2中的4个属性,需要根据数据库类型或者机器配置的不同设置相应的属性值。例如,如果数据库类型不同,需要更改驱动名称;如果数据库不在本地,则需要将地址中的 localhost替换成相应的主机IP;如果修改过 MySQL数据库的端口号(默认为3306),则需要加上修改后的端口号,如果未修改,则端口号可以省略;同时连接数据库的用户名和密码需要与数据库创建时设置的用户名和密码保持一致,本示例中Spring数据库的用户名和密码都是root。
Spring JDBC(Spring的数据库开发)
??定义jdbcTemplate时,需要将data Source注入到jdbcTemplate中,而其它需要使用jdbcTemplate的Bean,也需要将jdbcTemplate注入到该Bean中(通常注入到Dao类中,在Dao类中进行与数据库的相关操作)。

Spring JDBC(Spring的数据库开发)

上一篇:第十届javaB(5)


下一篇:MySQL主从重新同步