java
service
BasicTestServiceImpl
@DS(value = CommonConstant.SMARTXMABASIC)
@Service
public class BasicTestServiceImpl implements BasicTestService {
@Autowired
private BasicTestMapper basicTestMapper;
@Override
public List<Map<String, Object>> qureyEntityInfo() {
return basicTestMapper.selectInfo();
}
}
BasicTestServiceImpl
@DS(value = CommonConstant.SMARTXMAKMS)
@Service
public class KmsEntityServiceImpl implements KmsEntityService {
@Autowired
private KmsEntityMapper kmsEntityMapper;
@Override
public List<Map<String, Object>> qureyEntityInfo() {
return kmsEntityMapper.selectInfo();
}
}
resources
mapper
BotBasicTestMapper.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.yzh.mapper.BasicTestMapper">
<select id="selectInfo" resultType="map">
select * from [table_name] limit 10
</select>
</mapper>
BotKmsTestMapper.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.yzh.mapper.BasicTestMapper">
<select id="selectInfo" resultType="map">
select * from [table_name] limit 10
</select>
</mapper>
application.properties
spring:
autoconfigure:
exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
datasource:
dynamic:
druid:
driverClassName: com.mysql.cj.jdbc.Driver
initial-size: 5
max-active: 20
min-idle: 5
connect-timeout: 10000
primary: smartxmakms
strict: true
datasource:
smartxmakms:
url: jdbc:mysql://IP:PORT/datasource?characterEncoding=UTF-8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&useUnicode=true&useSSL=false&allowMultiQueries=true
username: root
password: xxxx
smartxmabasic:
url: jdbc:mysql://IP:PORT/datasource?characterEncoding=UTF-8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&useUnicode=true&useSSL=false&allowMultiQueries=true
username: root
password: xxxx
smartxmareport:
url: jdbc:mysql://IP:PORT/datasource?characterEncoding=UTF-8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&useUnicode=true&useSSL=false
username: root
password: xxxx
mybatis:
mapper-locations:
- classpath*:mapper/**/*.xml
POM
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.8.RELEASE</version>
<relativePath/>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>dynamic-datasource-boot</artifactId>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>3.6.1</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.15</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.83</version>
</dependency>
</dependencies>
</project>