MyBatis框架與Spring框架的結合方式
阿新 • • 發佈:2019-03-28
rop 功能 自動掃描 加載文件 bat tro java context drive
<?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>
MyBatis框架與Spring框架的結合方式