一、整合思路。
1、SqlSessionFactory对象交给Spring容器管理。
2、传统dao的开发方式中应该从Spring容器中获取sqlSession对象。
3、Mapper代理形式中,应该从Spring容器中直接获得mapper的代理对象。
4、数据库的连接以及数据库连接池事务管理都交给spring容器来完成。
二、需要整合的jar包。
1、spring的jar包。
2、mybatis的jar包。
3、spring+mybatis的整合包。
4、mysql的数据库驱动jar包。
5、数据库连接池的jar包。
三、整合步骤。
1、创建工程,导入jar包。
2、加入配置文件。
2.1 sqlMapConfig配置文件。
2.1.1 数据库连接及连接池。(放到applicationContext.xml配置文件中)
2.1.2 事务管理。
2.1.3 sqlSessionFactory对象,配置到spring容器中。
2.1.4 mapper代理对象或者是dao实现类配置到spring容器中。
配置代码如下:
<?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"> <configuration> <!-- 1.设置别名 --> <typeAliases> <!-- 2. 指定扫描包,会把包内所有的类都设置别名,别名的名称就是类名,大小写不敏感 --> <package name="com.sfwu15.pojo"/> </typeAliases> <!-- 加载Mapper --> <mappers> <!-- 加载User.xml配置文件 --> <mapper resource="SqlMap/User.xml"/> </mappers> </configuration>
2.2 applicationContext.xml的配置文件。
2.2.1 因为SqlSessionFactoryBean属于mybatis-spring这个jar包,对于spring来说,mybatis是另外一个架构,需要整合jar包,所以在项目中加入mybatis-spring-1.2.2.jar的源码。
2.2.2 加载db.properties配置文件。
2.2.3 配置数据库连接池。
2.2.4 配置SqlSessionFactory对象。
2.2.5 配置Dao。
2.2.6 配置Mapper代理。
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsd "> <!-- 加载数据库配置文件 --> <context:property-placeholder location="classpath:db.properties"/> <!-- 数据库连接池 --> <bean name="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="clone"> <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> <!-- 配置SqlSessionFactory对象 --> <bean name="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!-- 配置sqlMapConfig配置文件 --> <property name="configLocation" value="classpath:SqlMapConfig.xml"/> <!-- 配置数据源 --> <property name="dataSource" ref="dataSource"/> </bean> <!-- 配置Dao --> <bean name="userDao" class="com.sfwu15.dao.impl.UserDaoImpl"> <!-- 配置sqlSessionFactory --> <property name="sqlSessionFactory" ref="sqlSessionFactory"/> </bean> <!-- Mapper代理的方式开发方式一,配置Mapper代理对象 --> <!-- <bean name="userMappe" class="org.mybatis.spring.mapper.MapperFactoryBean"> 配置Mapper接口 <property name="mapperInterface" value="com.sfwu15.mapper.UserMapper"/> 配置sqlSessionFactory <property name="sqlSessionFactory" ref="sqlSessionFactory" /> </bean> --> <!-- Mapper代理的方式开发方式二,扫描包方式配置代理 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <!-- 配置Mapper接口 --> <property name="basePackage" value="com.sfwu15.mappercom.sfwu15.mapper"/> </bean> </beans>
2.3 db.properties配置如下。
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8 jdbc.username=root jdbc.password=root
2.4 log4j.properties配置如下:
# Global logging configuration log4j.rootLogger=DEBUG, stdout # Console output... log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
搭建完成后的文件如下图所示:
db.properties 标签:jdbc,Spring,jar,mybatis,整合,spring,Mybatis,2.2,log4j From: https://www.cnblogs.com/sfwu/p/16841524.html