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>