6.spring框架的文件配置
6-1spring-dao.xml配置文件
6-1-1配置文件头信息
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
" >http://www.springframework.org/schema/context/spring-context.xsd">
6-1-2获取jdbc.properties的数据库连接信息
<!-- 配置整合mybatis过程 -->
<!-- 通过spring框架完成mybatis框架对数据库的操作
详情见mybatis笔记的基础自动回复中:1-2通过mybatis配置文件获取数据库连接
mybatis框架读取数据库并打开数据库会话步骤如下
1、通过配置文件获取数据连接相关信息
2、通过配置信息构建SqlSessionFactory
3、通过SqlSessionFactory打开数据库会话
//1.通过配置文件获取数据库连接信息
//配置文件路径:包名+类名
//不能包含.全部将.改成/
Reader reader=Resources.getResourceAsReader
("com/imooc/mybatisconfig/Configuration.xml");
//2.通过配置信息构建一个SqlSessionFactory
SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(reader);
//3.通过SqlSessionFactory打开数据库会话
SqlSession sqlSession=sqlSessionFactory.openSession();
-->
<!--
1)、通过配置文件获取数据连接相关信息
-->
<!-- 读取该项目路径下的jdbc.properties文件(该文件中包含访问数据库的路径,账户,密码等) -->
<!-- 1.配置数据库相关参数properties的属性:${url} -->
<context:property-placeholder
location="classpath:jdbc.properties"/
<!-- 2.数据库连接池 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<!-- 连接数据库 -->
<property name="driverClass" value="${jdbc.driver}"/>
<property name="jdbcUrl" value="${jdbc.url}"/>
<property name="user" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<!-- c3p0连接池的私有属性,设定连接池的最大连接数量和最小连接数量,最小连接数量:在我们访问数据库前提前创建数据库连接,这样我们真正访问数据库的时候无需创建连接,能够直接并且更快速的访问到数据库,之所以设定最小连接数量,是因为会出现并发访问数据库,就是可能会有多个用户同时进行访问,这时候设定最小连接数,提高了这些用户访问速度。
最大连接数:因为连接池的数据库连接可以重复利用,所以我们可以设定数据库最大连接数,这样我们超过连接数的部分用户必须等待连接池的连接资源释放,才能够进行访问,这样不会导致数据库崩溃 -->
<property name="maxPoolSize" value="30"/>
<property name="minPoolSize" value="10"/>
<!-- 关闭连接后不自动提交commit -->
<property name="autoCommitOnClose" value="false"/>
<!-- 获取连接超时时间 -->
<property name="checkoutTimeout" value="10000"/>
<!-- 当获取链接失败重试次数 -->
<property name="acquireRetryAttempts" value="2"/>
</bean>
6-1-3配置mybatis的sqlSessionFactory的bean对象
<!--
2)、通过配置信息构建SqlSessionFactory
-->
<!-- 3.配置SqlSessionFactory对象 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 注入数据库连接池,注入上方的数据库bean对象 -->
<property name="dataSource" ref="dataSource"/>
<!-- 配置mybatis全局配置文件:mybatis-config.xml -->
<property name="configLocation"
value="classpath:mybatis-config.xml"/>
<!-- 扫描entity包,使用别名 -->
<property name="typeAliasesPackage" value="com.imooc.o2o.entity"/>
<!-- 扫描sql配置文件:mapper需要的xml文件 -->
<property name="mapperLocations" value="classpath:mapper/*.xml"/>
</bean>
6-1-4扫描dao包
<!--
3)、通过SqlSessionFactory打开数据库会话
-->
<!-- 4.配置扫描Dao接口包,动态实现Dao接口,注入到spring容器中 -->
<bean class=
"org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- 注入SqlSessionFactory -->
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
<!-- 给出需要扫描Dao接口包 -->
<property name="basePackage" value="com.imooc.dao"/>
</bean>
6-2spring-service.xml配置文件
6-2-1spring事物管理配置
6.2.1.1头部声明
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd">
6.2.1.2配置事物管理
<!-- 扫描service包下所有使用注解的类 -->
<context:component-scan base-package="com.imooc.o2o.service"/>
<!-- 配置事物管理器 ,笔记见spring框架的spring事物管理-->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<!-- 注入数据库连接池 -->
<property name="dataSource" ref="dataSource"/>
</bean>
<!-- 配置基于注解的声明式事物 -->
<tx:annotation-driven transaction-manager="transactionManager"/>
</beans>
个人原创,若需转载,请注明出处!!!