maven依赖,需要注意的是mysql使用的版本

 1     <dependencies>
2 <dependency>
3 <groupId>com.oracle.database.jdbc</groupId>
4 <artifactId>ojdbc8</artifactId>
5 <scope>runtime</scope>
6 </dependency>
7 <dependency>
8 <groupId>mysql</groupId>
9 <artifactId>mysql-connector-java</artifactId>
10 <version>5.1.30</version>
11 </dependency>
12 <!--Druid依赖代码 收藏代码-->
13 <dependency>
14 <groupId>com.alibaba</groupId>
15 <artifactId>druid</artifactId>
16 <version>0.2.15</version>
17 </dependency>
18 </dependencies>

application.properties配置文件

 1 #Spring boot视图配置
2 spring.mvc.view.prefix=/WEB-INF/view/
3 spring.mvc.view.suffix=.jsp
4 #静态文件访问配置
5 spring.mvc.static-path-pattern=/static/**
6
7 #加载Mybatis的xml 在:resources下
8 mybatis.mapper-locations=classpath:/com/spring/login/mapper/mysql/*.xml
9
10 #设置运行的端口
11 server.port=8080
12
13 #配置字符编码
14 server.servlet.encoding.enabled=true
15 server.servlet.encoding.force=true
16 server.servlet.encoding.charset=UTF-8
17
18 server.tomcat.uri-encoding=UTF-8
19
20 #取消thymeleaf 严格检查
21 spring.thymeleaf.mode=LEGACYHTML5
22
23 #连接Oracle数据库
24 oracle.datasource.driver-class-name= oracle.jdbc.driver.OracleDriver
25 oracle.datasource.url= jdbc:oracle:thin:@你的地址:1521/orcl
26 oracle.datasource.username=账号
27 oracle.datasource.password=密码
28
29 #配置连接mySql数据库
30 spring.datasource.url=jdbc:mysql://你的地址:3306/test?useSSL=false&useUnicode=true&characterEncoding=utf-8
31 spring.datasource.username=账号
32 spring.datasource.password=密码
33 spring.datasource.driver-class-name=com.mysql.jdbc.Driver

看一下目录结构,既,不同的数据库我放在了DAO里不同的包里了,主要是为了区分

在config里新建了两个config类,分别是配置mysql以及oracle数据源使用的,需要注意的是,两个或者多个数据源时,一定要制定一个(只有一个)为主数据源,下面时两个数据源代码

 1 package com.spring.login.config;
2
3 import com.alibaba.druid.pool.DruidDataSource;
4 import org.apache.ibatis.session.SqlSessionFactory;
5 import org.mybatis.spring.SqlSessionFactoryBean;
6 import org.mybatis.spring.SqlSessionTemplate;
7 import org.mybatis.spring.annotation.MapperScan;
8 import org.springframework.beans.factory.annotation.Qualifier;
9 import org.springframework.beans.factory.annotation.Value;
10 import org.springframework.context.annotation.Bean;
11 import org.springframework.context.annotation.Configuration;
12 import org.springframework.context.annotation.Primary;
13 import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
14 import org.springframework.jdbc.datasource.DataSourceTransactionManager;
15
16 import javax.sql.DataSource;
17
18 @SuppressWarnings("all")
19 @Configuration
20 @MapperScan(basePackages = "com.spring.login.dao.mysql", sqlSessionTemplateRef = "mysqlSqlSessionTemplate")
21 public class MysqlDataSourceConfig {
22 @Value("${spring.datasource.url}")
23 private String url;
24 @Value("${spring.datasource.username}")
25 private String user;
26 @Value("${spring.datasource.password}")
27 private String password;
28 @Value("${spring.datasource.driver-class-name}")
29 private String driverClass;
30
31 @Bean(name = "mysqlDataSource")
32 @Primary
33 public DataSource mysqlDataSource() {
34 DruidDataSource dataSource = new DruidDataSource();
35 dataSource.setUrl(url);
36 dataSource.setUsername(user);
37 dataSource.setPassword(password);
38 dataSource.setDriverClassName(driverClass);
39 return (DataSource) dataSource;
40 }
41
42 @Bean(name = "mysqlTransactionManager")
43 @Primary
44 public DataSourceTransactionManager mysqlTransactionManager(@Qualifier("mysqlDataSource") DataSource dataSource) {
45 return new DataSourceTransactionManager(dataSource);
46 }
47
48 @Bean(name = "mysqlSqlSessionFactory")
49 @Primary
50 public SqlSessionFactory mysqlSqlSessionFactory(@Qualifier("mysqlDataSource") DataSource dataSource) throws Exception {
51 final SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
52 bean.setDataSource(dataSource);
53 bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath*:/com/spring/login/mapper/mysql/*.xml"));
54 org.apache.ibatis.session.Configuration configuration = new org.apache.ibatis.session.Configuration();
55 configuration.setMapUnderscoreToCamelCase(true);
56 configuration.setCallSettersOnNulls(true);
57 configuration.setLogImpl(org.apache.ibatis.logging.stdout.StdOutImpl.class);
58 bean.setConfiguration(configuration);
59 return bean.getObject();
60 }
61
62 @Bean(name = "mysqlSqlSessionTemplate")
63 @Primary
64 public SqlSessionTemplate mysqlSqlSessionTemplate(@Qualifier("mysqlSqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception {
65 return new SqlSessionTemplate(sqlSessionFactory);
66 }
67 }

oracle连接数据源

 1 package com.spring.login.config;
2
3 import com.alibaba.druid.pool.DruidDataSource;
4 import org.apache.ibatis.session.SqlSessionFactory;
5 import org.mybatis.spring.SqlSessionFactoryBean;
6 import org.mybatis.spring.SqlSessionTemplate;
7 import org.mybatis.spring.annotation.MapperScan;
8 import org.springframework.beans.factory.annotation.Qualifier;
9 import org.springframework.beans.factory.annotation.Value;
10 import org.springframework.context.annotation.Bean;
11 import org.springframework.context.annotation.Configuration;
12 import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
13 import org.springframework.jdbc.datasource.DataSourceTransactionManager;
14
15 import javax.sql.DataSource;
16
17 @SuppressWarnings("all")
18 @Configuration
19 @MapperScan(basePackages = "com.spring.login.dao.oracle", sqlSessionTemplateRef = "oracleSqlSessionTemplate")
20 public class OracleDataSourceConfig {
21 @Value("${oracle.datasource.url}")
22 private String url;
23
24 @Value("${oracle.datasource.username}")
25 private String user;
26
27 @Value("${oracle.datasource.password}")
28 private String password;
29
30 @Value("${oracle.datasource.driver-class-name}")
31 private String driverClass;
32
33 @Bean(name = "oracleDataSource")
34 public DataSource oracleDataSource() {
35 DruidDataSource dataSource = new DruidDataSource();
36 dataSource.setDriverClassName(driverClass);
37 dataSource.setUrl(url);
38 dataSource.setUsername(user);
39 dataSource.setPassword(password);
40 return dataSource;
41 }
42
43 @Bean(name = "oracleTransactionManager")
44 public DataSourceTransactionManager oracleTransactionManager() {
45 return new DataSourceTransactionManager(oracleDataSource());
46 }
47
48 @Bean(name = "oracleSqlSessionFactory")
49 public SqlSessionFactory oracleSqlSessionFactory(@Qualifier("oracleDataSource") DataSource oracleDataSource) throws Exception {
50 final SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
51 bean.setDataSource(oracleDataSource);
52 bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath*:com.spring.login.mapper.oracle/*.xml"));
53 org.apache.ibatis.session.Configuration configuration = new org.apache.ibatis.session.Configuration();
54 configuration.setMapUnderscoreToCamelCase(true);
55 configuration.setCallSettersOnNulls(true);
56 configuration.setLogImpl(org.apache.ibatis.logging.stdout.StdOutImpl.class);
57 bean.setConfiguration(configuration);
58 return bean.getObject();
59 }
60
61 @Bean(name = "oracleSqlSessionTemplate")
62 public SqlSessionTemplate oracleSqlSessionTemplate(@Qualifier("oracleSqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception {
63 return new SqlSessionTemplate(sqlSessionFactory);
64 }
65 }

其他的调用和单数据源一致我这里就不多讲了,后面在启动类上加载注入需要的文件

 1 package com.spring;
2
3 import org.mybatis.spring.annotation.MapperScan;
4 import org.springframework.boot.SpringApplication;
5 import org.springframework.boot.autoconfigure.SpringBootApplication;
6 import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
7 import org.springframework.stereotype.Controller;
8 import org.springframework.web.bind.annotation.RequestMapping;
9
10 /**
11 * 表示取消数据源的自动配置
12 */
13 @Controller
14 @RequestMapping("/")
15 @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class},scanBasePackages = {"com.*"})
16 @MapperScan({"com.spring.login.mapper.mysql"})
17 public class WebApplication {
18
19 public static void main(String[] args) {
20 SpringApplication.run(WebApplication.class, args);
21 System.out.println("项目启动成功!");
22 }
23
24 }

数据库查询信息

Mybatis查询结果

最新文章

  1. 逆向工程学习第三天--另外一个ShellCode
  2. 原生js实现放大镜效果
  3. stl::map之const函数访问
  4. 在UIScrollView的delegate方法判断滚动快慢
  5. session和cookie的前后的操作
  6. ionic入门之AngularJS扩展基本布局
  7. Python安装BeautifulSoup库(Windows平台下)
  8. Android IOS WebRTC 音视频开发总结(五三)-- 国内IM &amp; RTC SDK列表
  9. BZOJ2038小Z的袜子(hose)
  10. TensorFlow实现Softmax Regression识别手写数字中&quot;TimeoutError: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败”问题
  11. SpringBoot入门教程(十五)集成Druid
  12. PDM:Training Models of Shape from Sets of Examples
  13. jQuery 练习:tab 切换
  14. Arcmap内容列表刷新
  15. 环境搭建-----IntelliJ idea之resin配置
  16. RN项目中使用react-native-elements报错: Unrecognized font family &#39;Material Icons&#39;
  17. android开发之GestureDetector手势识别(调节音量、亮度、快进和后退)
  18. 简单使用Google Analytics监控网站浏览行为
  19. 20170706wdVBA正则表达式提取题目
  20. Ansible6:Playbook简单使用

热门文章

  1. Spring中基于注解方式管理bean
  2. 自定义函数(Power Query 之 M 语言)
  3. 资源分配情况(Project)
  4. Python旋转魔方阵
  5. 批处理文件(.bat)并行Arcpy脚本提高效率的思路
  6. CF1292B Aroma&#39;s Search 题解
  7. WSL docker打通容器间通信和追加端口映射
  8. Kafka安装Kafka-Eagle可视化界面
  9. Mybatis一对一、一对多级联查询使用
  10. Spring实现自定义注解并且配置拦截器进行拦截