spring+mybatis整合开发
第一步:在spring配置文件中创建datasource数据源
<bean id="datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <!--配置数据库信息--> </bean>
第二步:创建sqlsessionbuilder
<bean class="org.mybatis.spring.SqlSessionFactoryBean" id="sqlSessionFactory"> <property name="dataSource" ref="datasource"/> <property name="configLocation" value="classpath:"/> <!-- mybatis配置文件,但可以直接在bean中配置 --> </bean>
第三步:创建sqlsessiontemplate
<bean id="session" class="org.mybatis.spring.SqlSessionTemplate"> <constructor-arg index="0" ref="sqlSessionFactory"/> </bean>
第四步:将自己的实现类交给spring托管
类似于Service层
public class UserDaoImpl implements UserDao{ SqlSession session; public SqlSession getSession() { return session; } public void setSession(SqlSession session) { this.session = session; } public void addUser(User user){ UserDao userDao = session.getMapper(UserDao.class); userDao.addUser(user); } }
<bean class="UserDaoImpl" id="userDao"> <property name="session" ref="session"/> </bean> <!--由spring托管-->
如果UserDaoImpl继承了SqlSessionFactory类 则可以不用注入sqlsession,直接注入sqlsessionfactory即可,sqlsessionfactory类有getsqlsession方法
注意:mybatis-config.xml的标签应该按顺序编写 否则bean可能会生成失败
mybatis spring 默认自动提交事务
pom.xml需要导入的包
spring mybatis-spring mybatis mysql-connector-java spring-jdbc(连接池)
整合:applicationContext.xml
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <!-- 定义数据源 --> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="url" value="jdbc:mysql://127.0.0.1/lesson_get"/> <property name="username" value="root"/> <property name="password" value="123456"/> <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/> </bean> <!-- 定义sqlsessionfactory --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!--set注入,把数据库连接池付给dataSource属性--> <property name="dataSource" ref="dataSource"/> <property name="configLocation" value="classpath:mybatis-config.xml"></property> </bean> <!-- 定义sqlsession --> <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate"> <constructor-arg index="0" ref="sqlSessionFactory"/> </bean> <!-- 让spring管理Service --> <bean id="bookService" class="com.dronff.Service.BookServiceImpl"> <property name="sqlSession" ref="sqlSession"/> </bean> </beans>
mybatis-config.xml
<?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> <settings> <setting name="logImpl" value="LOG4J"/> </settings> <typeAliases> <package name="com.dronff.pojo"/> </typeAliases> <mappers> <mapper resource="com/dronff/dao/BookDaoMapper.xml"/> </mappers> </configuration>

浙公网安备 33010602011771号