1、使用Spring自带的DriverManagerDataSource
配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!—设定dataSourceà
<bean id=”dataSource” class=”org.springframework.jdbc.datasource.DriverManagerDataSource”>
<!—使用SQL Server数据库à
<property name=”driverClassName”>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</property>
<property name=”url”>
<value>jdbc:Microsoft:sqlserver://localhost:1433/stdb</value>
</property>
<property name=”name”>
<value>admin</value>
</property>
<property name=”msg”>
<value>admin</value>
</property>
</bean>
<!—设定transactionManagerà
<bean id=”transactionManager”
class=”org.springframework.jdbc.datasource.DataSourceTransactionManager”>
<property name=”dataSource”>
<ref bean=”dataSource”/>
</property>
</bean>
<!—示例中DAO-->
<bean id=”bookDAO” class=”com.bookDAO”>
<property name=”dataSource”>
<ref bean=”dataSource”/>
</property>
<property name=”transactionManager”>
<ref bean=”transactionManager”>
</property>
</bean>
</beans>
红色部分显示了所使用的类,就是用它来处理数据库连接。
2、使用DBCP连接池
要在Spring中使用DBCP连接池,需要引入spring-framework-2.0-ml\lob\jakarta-commons文件夹中的commons-collections.jar、commons-dbcp.jar和commons-pool.jar。
配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!—设定dataSourceà
<bean id=”dataSource” class=”org.apache.commons.dbcp.BasicDataSource”>
<!—使用SQL Server数据库à
<property name=”driverClassName”>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</property>
<property name=”url”>
<value>jdbc:Microsoft:sqlserver://localhost:1433/stdb</value>
</property>
<property name=”name”>
<value>admin</value>
</property>
<property name=”msg”>
<value>admin</value>
</property>
</bean>
<!—设定transactionManagerà
<bean id=”transactionManager”
class=”org.springframework.jdbc.datasource.DataSourceTransactionManager”>
<property name=”dataSource”>
<ref bean=”dataSource”/>
</property>
</bean>
<!—示例中DAO-->
<bean id=”bookDAO” class=”com.bookDAO”>
<property name=”dataSource”>
<ref bean=”dataSource”/>
</property>
<property name=”transactionManager”>
<ref bean=”transactionManager”>
</property>
</bean>
</beans>
红色部分为不同之处,可以看出,Spring为各种不同的数据源提供了统一的方式,下面看使用Tomcat提供的JNDI,有了一些不同。
3、使用Tomcat提供的JNDI
分两步,第一步是配置Tomcat的server.xml;第二步是编写Spring的配置文件。
Tomcat的server.xml
<Context path=”/demo” reloadable=”true” docBase=”c: \eclipse\workspace\demo” workDir=” c: \eclipse\workspace\demo\work”>
<Resource name=”jdbc/opendb” auth=”Container” type=”javax.sql.DataSource” factory=”org.apache.tomcat.dbcp.BasicDataSourceFactory” driverClassName=”com.microsoft.jdbc.sqlserver.SQLServerDriver” url=”jdbc:Microsoft:sqlserver://localhost:1433/stdb”
<!—设定用户名-->
name=”admin”
<!—设定密码à
msg=”admin”
<!--设定最大连接数à
maxActive=”10000”
<!--设定最大空闲时间à
maxldle=”10000”
<!--设定最大等待时间à
maxWait=”10000”
removeAbandoned=”true”
removeAbandonedTimeout=”10”
logAbandoned=”true”
/>
</Context>
Spring配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!—设定dataSourceà
<bean id=”dataSource” class=”org.springframework.jndi.JndiObjectFactoryBean>
<property name=”jndiName”>
<value>jdbc/opendb</value>
/*以下信息在server.xml中已经配置过了,不需要再配置了
<!—使用SQL Server数据库à
<property name=”driverClassName”>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</property>
<property name=”url”>
<value>jdbc:Microsoft:sqlserver://localhost:1433/stdb</value>
</property>
<property name=”name”>
<value>admin</value>
</property>
<property name=”msg”>
<value>admin</value>
</property>*/
</bean>
<!—设定transactionManagerà
<bean id=”transactionManager”
class=”org.springframework.jdbc.datasource.DataSourceTransactionManager”>
<property name=”dataSource”>
<ref bean=”dataSource”/>
</property>
</bean>
<!—示例中DAO-->
<bean id=”bookDAO” class=”com.bookDAO”>
<property name=”dataSource”>
<ref bean=”dataSource”/>
</property>
<property name=”transactionManager”>
<ref bean=”transactionManager”>
</property>
</bean>
</beans>
红色部分为不同之处,可以看出,使用Tomcat提供的JNDI,有了一些不同。第一方式只是Spring包装了一下Jdbc,跟直接使用Jdbc没什么大的区别;后两种采用了连接池技术,比较好。我们也可以看出,三种方式配置基本相同,而作为使用数据源的类,调用方式相同,都是使用基本的依赖注入的方式。
4、使用Hibernate
配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!—设定dataSourceà
<bean id=”dataSource” class=”org.springframework.jdbc.datasource.DriverManagerDataSource”>
<!—使用SQL Server数据库à
<property name=”driverClassName”>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</property>
<property name=”url”>
<value>jdbc:Microsoft:sqlserver://localhost:1433/stdb</value>
</property>
<property name=”name”>
<value>admin</value>
</property>
<property name=”msg”>
<value>admin</value>
</property>
</bean>
//在第一种方法的基础上加上Hibernate的配置段就OK了。
<!—使用Hibernate的sessionFactoryà
<bean id=”sessionFactory” class=”org.springframework.orm.hibernate.LocalSessionFactoryBean”>
<property name=”dataSource”>
<ref local=”dataSources”>
</property>
<property name=”mappingResources”>
<list>
<value>com/demo/bo/Book.hbm.xml</value>
</list>
</property>
<property name=”hibernateProperties”>
<props>
<prop key=”hibernate.dialect”>
net.sf.hibernate.dialect.SQLServerDialect
</prop>
<prop key=”hibernate.show_sql”>
true
<prop>
</props>
</property>
</bean>
<!—设定transactionManagerà
<bean id=”transactionManager”
class=”org.springframework.jdbc.datasource.DataSourceTransactionManager”>
<property name=”sessionFactory”>
<ref bean=”sessionFactory”/>
</property>
</bean>
<!—示例中DAO-->
<bean id=”bookDAO” class=”com.demo.bo.BookDAO”>
<property name=”sessionFactory”>
<ref bean=” sessionFactory”/>
</property>
<property name=”transactionManager”>
<ref bean=”transactionManager”>
</property>
</bean>
</beans>
红色部分显示了不同之处,有三点:1)、加入了<bean id=”sessionFactory”>段,引入Hibernate的sessionFactory;2)事务处理的属性由原来的dataSource变成了sessionFactory;3)DAO引用从原来的dataSource变成了sessionFactory。其实就是说,在原来的datasouce之上加了Hibernate这一层,来处理相应的数据访问问题。因此在Spring中引入ORM是很容易的。
Book.hbm.xml和Book.java是通过工具互相生成的,在这里不展示代码了,而Book就是一个POJO。
4、使用iBatis
配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!—设定dataSourceà
<bean id=”dataSource” class=”org.springframework.jdbc.datasource.DriverManagerDataSource”>
<!—使用SQL Server数据库à
<property name=”driverClassName”>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</property>
<property name=”url”>
<value>jdbc:Microsoft:sqlserver://localhost:1433/stdb</value>
</property>
<property name=”name”>
<value>admin</value>
</property>
<property name=”msg”>
<value>admin</value>
</property>
</bean>
//在第一种方法的基础上加上iBatis的配置段就OK了。
<!—使用iBatis à
<bean id=”sqlMap” class=”org.springframework.orm.ibatis.SqlMapClientFactoryBean”>
<property name=”configLocation”>
<value>WEB/sqlMapConfig.xml</value>
</property>
</bean>
<!—设定transactionManagerà
<bean id=”transactionManager”
class=”org.springframework.jdbc.datasource.DataSourceTransactionManager”>
<property name=”dataSource”>
<ref bean=”dataSource”/>
</property>
</bean>
<!—示例中DAO-->
<bean id=”bookDAO” class=”com.demo.bo.BookDAO”>
<property name=”dataSource”>
<ref bean=” dataSource”/>
</property>
<property name=”transactionManager”>
<ref bean=”transactionManager”>
</property>
<property name=”sqlMap”>
<ref bean=”sqlMap”/>
</property>
</bean>
</beans>
红色部分显示了不同之处,主要来看一下其与Hibernate的不同之处,1)同样引入iBatis配置段,不过其mappingResources配置信息放在了sqlMapConfig.xml下,该文件放在WEB-INF下,示例代码如下:
<sqlMapConfig>
<sqlMap resource=”com/demo/bo/Book.xml”>
</sqlMapConfig>
而这其中的Book.xml文件类似于Hibernate中的Book.hbm.xml。
2)事务处理配置段依然引用的是dataSource,而不是sqlMap。
3)在DAO配置段,引用dataSource的同时,又加入了sqlMap引用。
其PO对象——Book.java与Hibernate中相同。
相关推荐
简单的说,在web容器中,通过ServletContext为Spring的IOC容器提供宿主环境,对应的建立起一个IOC容器的体系。其中,首先需要建立的是根上下文,这个上下文持有的对象可以有业务对象,数据存取对象,资源,事物管理...
【标题】:“JAVA OA平台源码(转载)SPRING BOOT...” 这个开源项目是一个基于Java技术的OA(Office Automation)管理系统的源代码实现,利用了Spring Boot框架进行开发。Spring Boot是Spring生态中的一个核心组件...
4、在application.yml中添加数据源、Mybatis的实体和配置文件位置。 5、自动生成代码配置文件。 6、建立数据库和表 7、生产Dao层和entity类 8、建立controller层类 9、建立service层类 10、启动之后结果展示 -------...
查询出列表,也就是返回list, 在我们这个例子中也就是 List<User> , 这种方式返回数据,需要在User.xml 里面配置返回的类型 resultMap, 注意不是 resultType, 而这个resultMap 所对应的应该是我们自己配置的 ...
2. **Spring2.5**:Spring是Java领域的一个全功能的框架,包括依赖注入、面向切面编程、数据访问、事务管理等。Spring 2.5版本引入了更多改进,如支持注解配置、更灵活的AOP、XML Schema-based配置等,增强了应用...
*该工具目前支持3种数据源的生成方式,分别是:JDBC、.table、PDM *JDBC:选择JDBC是只需要配置数据源就行了,别的不要动 *.table后缀文件:是金蝶BOS中的一个字段属性映射文件 *PDM:Powerdesigner物理逻辑图,选择...
- **配置MyBatis**:创建MyBatis的配置文件,包括数据源、事务管理器、Mapper扫描器等,并编写Mapper接口和对应的XML配置文件。 - **编写业务逻辑**:在Service层定义业务逻辑,通过@Autowired注解注入DAO接口,实现...
DataSource是一个接口,用于管理和提供数据库连接,通常由应用服务器提供,但在Spring框架中,可以独立配置。 3. **事务管理**:为了确保数据的一致性,系统使用JTA(Java Transaction API)和JTA/XA事务来处理银行...
*该工具目前支持3种数据源的生成方式,分别是:JDBC、.table、PDM *JDBC:选择JDBC是只需要配置数据源就行了,别的不要动 *.table后缀文件:是金蝶BOS中的一个字段属性映射文件 *PDM:Powerdesigner物理逻辑图,选择...
SpringBoot是Java生态系统中的一款流行框架,它简化了Spring应用的初始搭建以及开发过程,提供了“开箱即用”的特性,包括自动配置、内嵌Web服务器(如Tomcat)等,极大地提高了开发效率。 【描述】提到这是个人的...
在RuoYi-Vue-fast-master这个压缩包中,我们可以找到整个项目的源代码和资源文件,以下是关于该框架的一些关键知识点的详细说明: 1. **Java技术栈**:作为标签,"java"表明RuoYi框架是用Java语言开发的。Java以其...
Arthas支持Spring Boot、Spring Cloud等框架,使得开发者能够方便地对运行中的Java应用程序进行调试、监控和分析。 一、Arthas安装与启动 首先,你需要在官网或者通过GitHub下载Arthas的最新版本,然后解压到本地...
先在数据中创建名为c2c的数据库,使用Navicat for MySQL运行 c2c.sql文件创建表和导入数据 将图片解压到任意一个盘,然后配置Tomcat,将图片路径引用到本地配置的图片路径下。 ————————————————...
因此,我们预期在`pay5160-master`这个压缩包中会包含Java源代码文件(`.java`),可能还有相关的配置文件,如`pom.xml`(Maven项目配置文件)或者`build.gradle`(Gradle构建文件)。 在实际操作中,首先需要解压`...
通过分析和研究这个源码,开发者可以深入理解如何在实际项目中运用J2EE技术栈,包括Servlet、JSP、JDBC、EJB、Spring、Hibernate等,以及如何设计和实现一个功能完善的电子商务系统。 【标签】"j2ee在线购物网实例...
Zipkin 是一个开放源代码分布式的跟踪系统,每个服务向zipkin报告计时数据,zipkin会根据调用关系通过Zipkin UI生成依赖关系图。 Zipkin提供了可插拔数据存储方式:In-Memory、MySql、Cassandra以及Elasticsearch。...
在【压缩包子文件的文件名称列表】中提到的"java+Web审批流程(转载)"可能是项目的源代码文件、文档或者部署指南。这些文件可能包含以下部分: 1. **源代码**:包括Java源文件(.java),可能分布在不同的包结构下...
另外,对于自建系统,可以使用如Spring Boot、Django或Flask等框架。 4. **数据库设计**: 数据库设计是关键,包括用户表、版块表、主题表、回复表等。合理的设计能提高查询效率和数据安全性。 5. **用户认证与...