MyBatis框架与Spring框架的结合方式

 <?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:aop="http://www.springframework.org/schema/aop"
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.springftamework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
">
	<!-- 引入database.properties -->
	<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
	<property name="location">
		<value>classpath:database.properties</value>
	</property>
	</bean>
	<!--
		配置数据源加载文件 ID起别名 class引用封装类 
		替换掉了mybatis配置文件中的数据库配置部分
	-->
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
			destroy-method="close">
		<!--引入数据库驱动 -->
		<property name="driverClassName" value="${driver}"/>
		<!-- 引入数据库地址 -->
		<property name="url" value="${url}"/>
		<!-- 引入数据库用户名 -->
		<property name="username" value="${user}"/>
		<!-- 引入数据库用户密码 -->
		<property name="password" value="${password}"/>
	</bean>
	<!-- 
		配置SqlSessionFactoryBean:创建SqlSessionFactoryBuilder ID起别名 class引用封装类
		替换掉了mybatis中的创建实例部分以及 配置文件引用 ,SQL映射部分
	-->
	<bean id="SqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<!-- 引用数据源组件  -->
		<property name="dataSource" ref="dataSource"/>
		<!-- 由spring引用MyBatis 配置文件中的配置 -->
		<property name="configLocation" value="classpath:mybatis-config.xml"/>
		<!-- 配置SQL映射文件信息 -->
		<!-- <property name="mapperLocations">
			<list>
				<value>classpath:cn/smbms/dao/**/*.xml</value>
			</list>
		</property> -->
	</bean>
	<!-- 
	采用数据库映射器(MapperFactoryBean)的方式对数据库操作(高级 采用mybatis框架的dao层模式)
	还有一种方式为采用SqlSessionTemplate实现数据库操作(较为低级 采用无框架普通java的dao层模式)
	根据Mapper接口获取Mapper对象 它封装了原有的SqlSession.getMapper()功能的实现 
	-->
	<bean id="userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
		<!-- 指定映射器 只能是接口类型 -->
		<property name="mapperInterface" value="cn.smbms.dao.UserMapper"/>
		<!-- 注入SqlSessionFactory以提供SqlSessionTemplate实例 -->
		<property name="sqlSessionFactory" ref="SqlSessionFactory"/>
	</bean>
	<!--
            自动扫描指定包下的Mapper接口 并将他们直接注册为MapperFactoryBean
	 <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<property name="basePackage" value="cn.smbms.dao"/>
	</bean> 
	-->
	<bean id="userService" class="cn.smbms.service.impl.UserServiceImpl">
		<property name="userMapper" ref="userMapper"/>
	</bean>
</beans>

 

posted @ 2019-03-28 14:38  Return_Null  阅读(179)  评论(0编辑  收藏  举报