# Spring 整合 Mybatis(XML 配置方式) ## 一、项目说明 #### 1.1 项目结构
#### 1.2 项目依赖 除了 Spring 相关依赖外,还需要导入数据库驱动和对应的 Mybatis 依赖: ```xml org.springframework spring-jdbc ${spring-base-version} mysql mysql-connector-java 8.0.13 com.oracle ojdbc6 11.2.0.3.0 org.mybatis mybatis-spring 1.3.2 org.mybatis mybatis 3.4.6 ``` ## 二、整合 Mybatis #### 2.1 数据库配置 在 resources 文件夹下新建数据库配置文件 jdbc.properties: ```properties # mysql 数据库配置 mysql.driverClassName=com.mysql.jdbc.Driver mysql.url=jdbc:mysql://localhost:3306/mysql mysql.username=root mysql.password=root # oracle 数据库配置 oracle.driverClassName=oracle.jdbc.driver.OracleDriver oracle.url=jdbc:oracle:thin:@//IP 地址:端口号/数据库实例名 oracle.username=用户名 oracle.password=密码 ``` #### 2.2 配置数据源 配置数据源、Mybatis 会话工厂和事务管理器: ```xml ``` #### 2.3 MyBatis 配置 新建mybtais配置文件,按照需求配置额外参数, 更多 settings 配置项可以参考 [官方文档](http://www.mybatis.org/mybatis-3/zh/configuration.html) ```xml ``` #### 2.4 数据查询 新建查询接口及其实现类,以下示例分别查询的是 MySQL 和 Oracle 中的字典表: ```java public interface MysqlDao { List get(); } ``` ```xml ``` ```mysql public interface OracleDao { List queryById(long id); } ``` ```xml ``` #### 2.5 测试查询 新建测试类进行测试: ```java @RunWith(SpringRunner.class) @ContextConfiguration({"classpath:springApplication.xml"}) public class MysqlDaoTest { @Autowired private MysqlDao mysqlDao; @Test public void get() { List relations = mysqlDao.get(); if (relations != null) { for (Relation relation : relations) { System.out.println(relation.getId() + " " + relation.getName()); } } } } ``` ```java @RunWith(SpringRunner.class) @ContextConfiguration({"classpath:springApplication.xml"}) public class OracleDaoTest { /*注入接口时: 如果接口有多个实现类 可以用这个注解指定具体的实现类*/ @Qualifier("oracleDaoImpl") @Autowired private OracleDao oracleDao; @Test public void get() { List flows = oracleDao.get(); if (flows != null) { for (Flow flow : flows) { System.out.println(flow.getId() + " " + flow.getPlugId()); } } } } ```