1.pom.xml中添加扩展(注意版本)
<!-- msyql-mybatis -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.13</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<!-- msyql-mybatis -->
2.application.yml配置增加(url如果没有配置p6spy需要调整)
spring: //数据库信息
datasource:
db3:
jdbc-url: jdbc:p6spy:mysql://192.168.xxx.xxx:3306/patozon_ums?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true&autoReconnect=true&failOverReadOnly=false&serverTimezone=GMT%2B8&allowMultiQueries=true
username: cc
password: mysql123
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.p6spy.engine.spy.P6SpyDriver
mybatis://获取mybatis的mapper.xml
typeAliasesPackage: com.ptx.scm.model
mapperLocations: classpath:/mapper/*.xml,classpath:/mapper/*/*.xml
3.config配置文件增加
MysqlMybatisConfigDb3.java
package com.example.devguo.config;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import javax.sql.DataSource;
/**
* @Author: dev_guo
* @Date: 2022/2/10 17:54
*/
@Configuration
@MapperScan(basePackages = "com.example.devguo.mapper.db3", sqlSessionFactoryRef = "db3SqlSessionFactory")
public class MysqlMybatisConfigDb3 {
@Bean(name = "db3DataSource")
@Primary
@ConfigurationProperties(prefix = "spring.datasource.db3")
public DataSource db3DataSource() {
return DataSourceBuilder.create().build();
}
@Bean(name = "db3SqlSessionFactory")
@Primary
public SqlSessionFactory db3SqlSessionFactory(@Qualifier("db3DataSource") DataSource dataSource) throws Exception {
SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/db3/*Mapper.xml"));
bean.setDataSource(dataSource);
return bean.getObject();
}
@Bean(name = "db3TransactionManager")
@Primary
public DataSourceTransactionManager db3TransactionManager(@Qualifier("db3DataSource") DataSource dataSource) {
return new DataSourceTransactionManager(dataSource);
}
@Bean(name = "db3SqlSessionTemplate")
@Primary
public SqlSessionTemplate test1SqlSessionTemplate(@Qualifier("db3SqlSessionFactory") SqlSessionFactory sqlSessionFactory) {
return new SqlSessionTemplate(sqlSessionFactory);
}
}
4.需要创建的文件
resources/mapper/db3 示例文件:UmsMapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.devguo.mapper.db3.UmsMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.example.devguo.model.entity.MenuItems">
<id column="id" property="id" />
<result column="title" property="title" />
<result column="erpDeptId" property="erpDeptId" />
</resultMap>
<select id="getMenuItems" resultMap="BaseResultMap">
SELECT id,title,erp_dept_id as erpDeptId FROM menu_items WHERE parent_id=49 and `status`=1
</select>
</mapper>
com.example.devguo.mapper.db3 示例文件UmsMapper.java
package com.example.devguo.mapper.db3;
import com.example.devguo.model.entity.MenuItems;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
@Mapper
public interface UmsMapper {
List<MenuItems> getMenuItems();
}