1、Spring对MyBatis的整合思路
1、在项目中加入Spring、MyBatis及整合相关的JAR文件。
2、建立开发目录结构,创建实体类
例:pojo包下创建实体类User
3、创建数据访问接口。
例 在user包下创建UserMapper接口。
4、配置SQL映射文件
在user包中,创建UserMapper.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "mybatis-3-mapper.dtd" >
<mapper namespace="cn.smbms.dao.user.UserMapper">
<!-- 注册 -->
<select id="getLoginUser" resultType="User">
select * from smbms_user where userCode=#{userCode}
</select>
</mapper>
5、配置MyBatis配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<!-- 通过这个配置文件完成mybatis与数据库的连接 -->
<configuration>
<typeAliases>
<package name="cn.smbms.pojo" />
</typeAliases>
</configuration>
2、实现Spring对MyBatis的整合
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.2.xsd"
>
<!-- 配置数据源 -->
<!-- <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" >
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url">
serverTimezone=GMT%2B8&useUnicode=true&
<value>jdbc:mysql://localhost:3306/smbms?zeroDateTimeBehavior=convertToNull&serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8</value>
</property>
<property name="username" value="root"/>
<property name="password" value="root"/>
</bean> -->
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>classpath:database.properties</value>
</property>
</bean>
<!-- 配置DataSource -->
<bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${driver}" />
<property name="url" value="${url}" />
<property name="username" value="${user}" />
<property name="password" value="${password}" />
</bean>
<!-- 配置SqlsessionFactoryBean -->
<!-- org.mybatis.spring.SqlSessionTemplate.sqlSessionFactory -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 引用数据源组件 -->
<property name="dataSource" ref="dataSource"/>
<!-- 引用MyBatis配置文件中的配置 -->
<property name="configLocation" value="classpath:mybatis-config.xml"/>
<!-- 配置SQL 映射文件信息-->
<property name="mapperLocations">
<list>
<value>classpath:cn/smbms/dao/user/*.xml</value>
</list>
</property>
</bean>
<!-- 配置SqlSessionTemplate -->
<!-- <bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory"/>
</bean> -->
<!-- 配置DAO组件并注入SqlSessionTemplate示例 -->
<!-- <bean id="userMapper" class="cn.smbms.dao.user.UserMapperImpl">
<property name="sqlSession" ref="sqlSessionTemplate"/>
</bean> -->
<!-- 配置业务Bean并注入DAO示例 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
<property name="basePackage" value="cn.smbms.dao.user"/>
</bean>
<!-- 配置事务 -->
<bean id="Manager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<tx:annotation-driven transaction-manager="Manager"/>
<!-- 配置扫描注解定义的业务Bean -->
<context:component-scan base-package="cn.smbms"/>
</beans>