Spring 中的数据源1

来源:百度文库 编辑:神马文学网 时间:2024/04/27 23:34:29

Spring 中的数据源

1、使用Spring自带的DriverManagerDataSource   配置文件   dataSource” class=”org.springframework.jdbc.datasource.DriverManagerDataSource”>                com.microsoft.jdbc.sqlserver.SQLServerDriver                         jdbc:Microsoft:sqlserver://localhost:1433/stdb                 admin                 admin                                    dataSource”/>                                                                                 红色部分显示了所使用的类,就是用它来处理数据库连接。2、使用DBCP连接池    要在Spring中使用DBCP连接池,需要引入spring-framework-2.0-ml\lob\jakarta-commons文件夹中的commons-collections.jar、commons-dbcp.jar和commons-pool.jar。配置文件   dataSource” class=”org.apache.commons.dbcp.BasicDataSource”>                com.microsoft.jdbc.sqlserver.SQLServerDriver                         jdbc:Microsoft:sqlserver://localhost:1433/stdb                 admin                 admin                                    dataSource”/>                                                                                 红色部分为不同之处,可以看出,Spring为各种不同的数据源提供了统一的方式,下面看使用Tomcat提供的JNDI,有了一些不同。3、使用Tomcat提供的JNDI分两步,第一步是配置Tomcat的server.xml;第二步是编写Spring的配置文件。Tomcat的server.xmlname=”admin”Spring配置文件   dataSource” class=”org.springframework.jndi.JndiObjectFactoryBean>              jdbc/opendb     /*以下信息在server.xml中已经配置过了,不需要再配置了           com.microsoft.jdbc.sqlserver.SQLServerDriver                         jdbc:Microsoft:sqlserver://localhost:1433/stdb                 admin                 admin       */                             dataSource”/>                                                                                 红色部分为不同之处,可以看出,使用Tomcat提供的JNDI,有了一些不同。第一方式只是Spring包装了一下Jdbc,跟直接使用Jdbc没什么大的区别;后两种采用了连接池技术,比较好。我们也可以看出,三种方式配置基本相同,而作为使用数据源的类,调用方式相同,都是使用基本的依赖注入的方式。4、使用Hibernate配置文件   dataSource” class=”org.springframework.jdbc.datasource.DriverManagerDataSource”>                com.microsoft.jdbc.sqlserver.SQLServerDriver                         jdbc:Microsoft:sqlserver://localhost:1433/stdb                 admin                 admin            //在第一种方法的基础上加上Hibernate的配置段就OK了。  sessionFactory” class=”org.springframework.orm.hibernate.LocalSessionFactoryBean”>                   dataSources”>                                          com/demo/bo/Book.hbm.xml                                                                                net.sf.hibernate.dialect.SQLServerDialect                       true                                     sessionFactory”>            sessionFactory”/>                           sessionFactory”>            sessionFactory”/>                                          红色部分显示了不同之处,有三点:1)、加入了段,引入Hibernate的sessionFactory;2)事务处理的属性由原来的dataSource变成了sessionFactory;3)DAO引用从原来的dataSource变成了sessionFactory。其实就是说,在原来的datasouce之上加了Hibernate这一层,来处理相应的数据访问问题。因此在Spring中引入ORM是很容易的。  Book.hbm.xml和Book.java是通过工具互相生成的,在这里不展示代码了,而Book就是一个POJO。4、使用iBatis配置文件   dataSource” class=”org.springframework.jdbc.datasource.DriverManagerDataSource”>                com.microsoft.jdbc.sqlserver.SQLServerDriver                         jdbc:Microsoft:sqlserver://localhost:1433/stdb                 admin                 admin            //在第一种方法的基础上加上iBatis的配置段就OK了。  sqlMap” class=”org.springframework.orm.ibatis.SqlMapClientFactoryBean”>                   WEB/sqlMapConfig.xml                       dataSource”>            dataSource”/>                          dataSource”>            dataSource”/>                                                                       红色部分显示了不同之处,主要来看一下其与Hibernate的不同之处,1)同样引入iBatis配置段,不过其mappingResources配置信息放在了sqlMapConfig.xml下,该文件放在WEB-INF下,示例代码如下:     而这其中的Book.xml文件类似于Hibernate中的Book.hbm.xml。 2)事务处理配置段依然引用的是dataSource,而不是sqlMap。 3)在DAO配置段,引用dataSource的同时,又加入了sqlMap引用。 其PO对象——Book.java与Hibernate中相同。