1mybatis和spring整合 1.1 mybaits和spring整合的思路 1、让spring管理SqlSessionFactory 2、让spring管理mapper动态代理对象和dao。 使用spring和mybatis整合开发mapper代理及原始dao接口。 自动开启事务,自动关闭 sqlsession. 3、让spring管理数据源( 数据库连接池) 1.2创建整合工程
1.1加入jar包 1、mybatis3.2.7本身的jar包 2、数据库驱动包 3、spring3.2.0 4、spring和mybatis整合包 从mybatis的官方下载spring和mybatis整合包
1.1log4j.properties 1.2SqlMapconfig.xml mybatis配置文件:别名、settings,数据源不在这里配置 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!-- 定义 别名 --> <typeAliases> <!-- 批量别名定义 指定包路径,自动扫描包下边的pojo,定义别名,别名默认为类名(首字母小写或大写) --> <package name="cn.itcast.mybatis.po" /> </typeAliases> <mappers> <!-- 加载原始dao使用的user.xml --> <mapper resource="sqlmap/User.xml"/> <package name="cn.itcast.mybatis.mapper" /> </mappers> </configuration> 1.3 applicationContext.xml 1、数据源(dbcp连接池) 2、SqlSessionFactory 3、mapper对象(bin)或dao 1.4整合开发原始dao接口 1.4.1配置SqlSessionFactory 在 applicationContext.xml配置SqlSessionFactory <!-- SqlsessionFactory --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!-- 数据源 --> <property name="dataSource" ref="dataSource"/> <!-- mybatis配置文件 --> <property name="configLocation" value="classpath:mybatis/SqlMapConfig.xml"/> </bean> <!-- 加载配置文件 --> <context:property-placeholder location="classpath:db.properties" /> <!-- 数据库连接池 --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="${jdbc.driver}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> <property name="maxActive" value="10" /> <property name="maxIdle" value="5" /> </bean> db.properties: jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/mybatis jdbc.username=root jdbc.password=mysql 1.4.2开发dao public class UserDaoImpl extends SqlSessionDaoSupport implements UserDao { @Override public User findUserById(int id) throws Exception { // 创建SqlSession SqlSession sqlSession = this.getSqlSession();//getSqlSession从SqlSessionDaoSupport 获取 // 根据id查询用户信息 User user = sqlSession.selectOne("test.findUserById", id); return user; } } 1.4.3applicationContext.xml配置 dao <!-- 配置dao --> <bean id="userDao" class="cn.itcast.mybatis.dao.UserDaoImpl"> <property name="sqlSessionFactory" ref="sqlSessionFactory"/> </bean> 1.4.4测试dao接口
原文:http://www.cnblogs.com/yaowen/p/5203739.html