Spring与数据库
2015-07-02 11:41
519 查看
Spring与数据库
**Spring的数据异常访问体系
Spring的平台无关持久化异常
数据访问模板 回调
应用程序DAO--->DAO支持--->数据访问模板--->持久化框架--->数据库
**配置数据源
不管选择哪种Spring DAO的支持方式,都需要配置一个
数据源引用。
Spring提供了在上下文中配置数据源Bean的多种方式,包括:
-通过JDBC驱动程序定义数据源;
-通过JNDI查找数据源;
-连接池的数据源;
=====使用JNDI数据源=====
<jee:jndi-lookup id="dataSource" jndi-name="/jdbc/SpitterDS"
resource-ref="true"/>
其中jndi-name属性用于指定JNDI中的资源名称。如果只设置了jndi-name属性,
那么就会根据指定的名称查找数据源。但是如果应用程序运行在Java服务器中
(Tomcat,JBoss等),则需将resource-ref,属性设置为true,这样给定的jndi-name会自动加上java:comp/env/前缀。
=====使用数据源连接池(推荐使用)=====
尽管Spring没有提供数据源连接池实现,但DBCP项目是个不错的选择,DBCP包含了
多个提供连接池功能的数据源,其中BasicDataSource是最常用的的,因为它易于在Spring
中配置。
<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<!-- results in a setDriverClassName(String) call -->
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mydb"/>
<property name="username" value="root"/>
<property name="password" value="masterkaoli"/>
</bean>
=====使用JDBC驱动的数据源=====
在Spring中,通过JDBC驱动定义数据源是最简单的配置方式。
Spring提供了两种数据源对象(都没有提供连接池功能)
-DriverManagerDataSource每次请求返回一个新建连接
-SingleConnectionDataSource每次请求返回同一个连接
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
<context:property-placeholder location="jdbc.properties"/>
**在Spring中集成Hibernate
<bean id="mySessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="myDataSource"/>
<property name="mappingResources">
<list>
<value>product.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<value>
hibernate.dialect=org.hibernate.dialect.HSQLDialect
</value>
</property>
</bean>
**Spring的数据异常访问体系
Spring的平台无关持久化异常
数据访问模板 回调
应用程序DAO--->DAO支持--->数据访问模板--->持久化框架--->数据库
**配置数据源
不管选择哪种Spring DAO的支持方式,都需要配置一个
数据源引用。
Spring提供了在上下文中配置数据源Bean的多种方式,包括:
-通过JDBC驱动程序定义数据源;
-通过JNDI查找数据源;
-连接池的数据源;
=====使用JNDI数据源=====
<jee:jndi-lookup id="dataSource" jndi-name="/jdbc/SpitterDS"
resource-ref="true"/>
其中jndi-name属性用于指定JNDI中的资源名称。如果只设置了jndi-name属性,
那么就会根据指定的名称查找数据源。但是如果应用程序运行在Java服务器中
(Tomcat,JBoss等),则需将resource-ref,属性设置为true,这样给定的jndi-name会自动加上java:comp/env/前缀。
=====使用数据源连接池(推荐使用)=====
尽管Spring没有提供数据源连接池实现,但DBCP项目是个不错的选择,DBCP包含了
多个提供连接池功能的数据源,其中BasicDataSource是最常用的的,因为它易于在Spring
中配置。
<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<!-- results in a setDriverClassName(String) call -->
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mydb"/>
<property name="username" value="root"/>
<property name="password" value="masterkaoli"/>
</bean>
=====使用JDBC驱动的数据源=====
在Spring中,通过JDBC驱动定义数据源是最简单的配置方式。
Spring提供了两种数据源对象(都没有提供连接池功能)
-DriverManagerDataSource每次请求返回一个新建连接
-SingleConnectionDataSource每次请求返回同一个连接
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
<context:property-placeholder location="jdbc.properties"/>
**在Spring中集成Hibernate
<bean id="mySessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="myDataSource"/>
<property name="mappingResources">
<list>
<value>product.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<value>
hibernate.dialect=org.hibernate.dialect.HSQLDialect
</value>
</property>
</bean>
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- 数据库链接字符串查询网站
- 一个jar包里的网站
- 一个jar包里的网站之文件上传
- 一个jar包里的网站之返回对媒体类型
- DB2实例管理
- DB2实例管理
- 保障MySQL数据安全的14个最佳方法
- mysql问答汇集
- 创建一个空的IBM DB2 ECO数据库的方法
- Access 2000 数据库 80 万记录通用快速分页类
- 开通一个数据库失败的原因的和解决办法
- 一个简单的asp数据库操作类
- CentOS下DB2数据库安装过程详解
- EasyASP v1.5发布(包含数据库操作类,原clsDbCtrl.asp)第1/2页
- sql2008 还原数据库解决方案
- Oracle 数据库自动存储管理-安装配置
- Oracle 数据库 临时数据的处理方法
- 数据库分页查询语句数据库查询