1.引入jdbc的配置文件 使用配置文件 不是使用系統(tǒng)屬性
<context:property-placeholder location="jdbc.properties" system-properties-mode="FALLBACK"/>
- 配置數(shù)據(jù)源
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbc.driver}"></property>
<property name="url" value="${jdbc.url}"></property>
<property name="username" value="${jdbc.username}"></property>
<property name="password" value="${jdbc.password}"></property>
</bean>
- 配置SqlSessionFactoryBean 對象
[mybatis.xml] (http://www.reibang.com/p/4fcd802faf82)
<bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- mybatis 核心配置文件 -->
<property name="configLocation" value="mybatis.xml"/>
<property name="dataSource" ref="dataSource"/>
</bean>
mybatis里面的數(shù)據(jù)源晴裹、日志摩疑、別名、插件、mapper都被整合到<bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
標(biāo)簽
<!-- 配置 Configuration-->
<bean id="configuration" class="org.apache.ibatis.session.Configuration">
<!-- 指定日志工具 -->
<property name="logImpl" value="org.apache.ibatis.logging.log4j.Log4jImpl"/>
<!-- 配置緩存 -->
<property name="cacheEnabled" value="true"/>
</bean>
<!--3. 配置SqlSessionFactoryBean 對象-->
<bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 配置數(shù)據(jù)源 -->
<property name="dataSource" ref="dataSource"/>
<!-- 配置包下類別名 多個包之間使用 逗號分隔 -->
<property name="typeAliasesPackage" value="com.bjpowernode.domain"/>
<!-- 配置插件 -->
<property name="plugins">
<array>
<bean id="pageInterceptor" class="com.github.pagehelper.PageInterceptor"/>
</array>
</property>
<!-- 注入configuration -->
<property name="configuration" ref="configuration"/>
<!-- 配置映射文件 -->
<property name="mapperLocations" value="mapper/**/*Mapper.xml"></property>
</bean>
<!-- 4.掃描所有的Mapper接口 自動創(chuàng)建Mapper的代理對象 -->
<bean id="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- 待掃描的mapper 接口的包名 多個之間使用逗號分隔 -->
<property name="basePackage" value="com.bjpowernode.mapper"/>
<!--注入SqlSessionFactoryBean 用于創(chuàng)建SqlSession -->
<!--
SqlSessionFactoryBean 是可以自動裝配的 但是 如果存在多個數(shù)據(jù)源時元媚,可以指定SqlSessionFactoryBean
區(qū)分?jǐn)?shù)據(jù)源
-->
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactoryBean"/>
</bean>
4.掃描所有的Mapper接口 自動創(chuàng)建Mapper的代理對象
<bean id="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- 待掃描的mapper 接口的包名 多個之間使用逗號分隔 -->
<property name="basePackage" value="com.bjpowernode.dao"/>
<!--注入SqlSessionFactoryBean 用于創(chuàng)建SqlSession -->
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactoryBean"/>
</bean>
5.事務(wù)管理器
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<!-- 配置數(shù)據(jù)源 指定要管理那個數(shù)據(jù)源的事務(wù) -->
<property name="dataSource" ref="dataSource" />
</bean>
6.開啟組件掃描
<context:component-scan base-package="com.*" />
7.開啟事務(wù)注解
<tx:annotation-driven transaction-manager="transactionManager" />