Spring整合Mybatis框架
概括
简而言之让Spring接管Mybatis框架,有两种方法,一种保留Mybatis的核心配置文件,另一种将其整合进Spring的核心配置文件,当然是后者更为简单。
废话不多说,开干!
保留Mybatis核心配置文件
Mybatis核心配置文件
<configuration>
<!--引入properties-->
<properties resource="jdbc.properties"></properties>
<!--配置别名-->
<typeAliases>
<package name="com.itheima.pojo"/>
</typeAliases>
<!--配置数据源-->
<environments default="development">
<environment id="development">
<!--配置事务-->
<transactionManager type="JDBC"></transactionManager>
<!--是否使用连接池-->
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
<!--配置mapper映射-->
<mappers>
<package name="com.itheima.dao"/>
</mappers>
</configuration>
保留配置文件的测试类
public class MybatisTest {
public void test() {
// 构建工厂类
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream("SqlMapConfig.xml"));
// SqlSession
SqlSession sqlSession = sqlSessionFactory.openSession();
// 获取Mapper类
AccountDao accountDao = sqlSession.getMapper(AccountDao.class);
// 执行查找方法
Account account = accountDao.findByName("赵四");
System.out.println("account = " + account);
}
}
将Mybatis核心配置文件整合入Spring核心配置文件
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>
<!--引入properties-->
<properties resource="jdbc.properties"></properties>
<!--配置别名-->
<typeAliases>
<package name="com.itheima.pojo"/>
</typeAliases>
<!--配置数据源-->
<environments default="development">
<environment id="development">
<!--配置事务-->
<transactionManager type="JDBC"></transactionManager>
<!--是否使用连接池-->
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
<!--配置mapper映射-->
<mappers>
<package name="com.itheima.dao"/>
</mappers>
</configuration>
整合后的测试类
public class AccountServiceTest {
@Test
public void update() {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("AplicationContext.xml");
AccountService accountService = applicationContext.getBean(AccountService.class);
Account account = new Account();
account.setMoney(11212D);
account.setName("小憨包");
account.setId(1);
accountService.update(account);
}
}
总结
整合后的整体目录结构很清晰。
对比


浙公网安备 33010602011771号