一、添加依赖
首先编辑pom.xml文件,添加相关依赖
<!-- MyBatis依赖 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>
<!-- 数据库驱动依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!-- 数据库连接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
二、配置数据库连接
在application.properties中添加数据库相关配置
代码如下(示例):
# datasource1
spring.datasource.d1.url=jdbc:mysql://localhost:3306/tl_nandamen?characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
spring.datasource.d1.username=root
spring.datasource.d1.password=tl_mysql
spring.datasource.d1.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.d1.type=com.alibaba.druid.pool.DruidDataSource
#datasource2
spring.datasource.d2.url=jdbc:mysql://localhost:3306/tl-alipay?characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
spring.datasource.d2.username=root
spring.datasource.d2.password=tl_mysql
spring.datasource.exp.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.d2.type=com.alibaba.druid.pool.DruidDataSource
三、配置数据源
1.创建 DataSourceConfig 配置数据源,根据 application.properties 中的配置生成两个数据源:
代码如下(示例):
@Configuration
public class DataSourceConfig {
@Bean
@ConfigurationProperties(prefix = "spring.datasource.d1")
DataSource dsDvw(){
return DruidDataSourceBuilder.create().build();
}
@Bean
@ConfigurationProperties(prefix = "spring.datasource.d2")
DataSource dsExp(){
return DruidDataSourceBuilder.create().build();
}
}
代码说明:
•@ConfigurationProperties 注解表示使用不同前缀的配置文件来创建不同的 DataSource 实例。
2.配置 MyBatis,主要是提供 SqlSessionFactory 实例和 SqlSessionTemplate 实例。下面是第一个数据库的配置类:
@Configuration
@MapperScan(value = "com.demo.Mybatis.mapper.mapper2",sqlSessionFactoryRef = "sqlSessionFactoryDvw")
//在 @MapperScan 注解中指定 Mapper 接口所在的位置,同时指定 SqlSessionFactory 的实例名,则该位置下的 Mapper 将使用 SqlSessionFactory 实例
public class DvwDataSourceConfig {
@Autowired
@Qualifier("dsDvw")
DataSource dsDvw;
@Bean
SqlSessionFactory sqlSessionFactoryDvw() throws Exception {
SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
factoryBean.setDataSource(dsDvw);
return factoryBean.getObject();
}
//提供一个 SqlSessionTemplate 实例。这是一个线程安全类,主要用来管理 MyBatis 中的 SqlSession 操作
@Bean
SqlSessionTemplate sqlSessionTemplate1() throws Exception {
return new SqlSessionTemplate(sqlSessionFactoryDvw());
}
}
第二个数据库的配置类
@Configuration
@MapperScan(value = "com.demo.Mybatis.mapper.mapper1", sqlSessionFactoryRef = "sqlSessionFactoryExp")
public class ExpDataSourceConfig {
@Autowired
@Qualifier("dsExp")
DataSource dsExp;
@Bean
SqlSessionFactory sqlSessionFactoryExp() throws Exception {
SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
factoryBean.setDataSource(dsExp);
return factoryBean.getObject();
}
@Bean
SqlSessionTemplate sqlSessionTemplate2() throws Exception {
return new SqlSessionTemplate(sqlSessionFactoryExp());
}
}
四、创建实体类
略
五、创建数据库访问层
在com.demo.Mybatis.mapper.mapper2包下创建DVWMapper
@Mapper
public interface DVWMapper {
@Select("select * from ${table} where cur_time > #{start} and cur_time < #{end}")
List<VibrationEntity> getVibrationData(String table, LocalDateTime start, LocalDateTime end);
}
在com.demo.Mybatis.mapper.mapper1包下创建EXPMapper
@Mapper
public interface EXPMapper{
@Select("select * from ${table} where cur_time > #{start} and cur_time < #{end}")
List<ExpLorerEntity> getExpLorerData(String table, String start, String end);
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/119824.html