您的位置:首页 > 编程语言 > Java开发

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 数据库 持久化