SpringBoot2.0 基础案例(06):引入JdbcTemplate,和多数据源配置
一、JdbcTemplate对象
1、JdbcTemplate简介
在Spring Boot2.0框架下配置数据源和通过JdbcTemplate访问数据库的案例。
SpringBoot对数据库的操作在jdbc上面做了深层次的封装,使用spring的注入功能,可以把DataSource注册到JdbcTemplate之中。
2、JdbcTemplate核心方法
1)execute方法:可以用于执行任何SQL语句;
2)update方法batchUpdate方法:update方法用于执行新增、修改、删除等语句;batchUpdate方法用于执行批处理相关语句;
3)query方法及queryFor方法:用于执行查询相关语句;
4)call方法:用于执行存储过程、函数相关语句。
二、SpringBoot2中用法
1、导入Jar包
<!-- 数据库依赖 -->
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.21</version>
</dependency>
<!-- JDBC 依赖 -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
2、配置数据源信息
spring:application:# 应用名称name: node06-boot-jdbcdatasource:# 数据源一:data_one 库primary:# 2.0开始的版本必须这样配置jdbc-url: jdbc:mysql://localhost:3306/data_one#url: jdbc:mysql://localhost:3306/data_oneusername: rootpassword: 123driver-class-name: com.mysql.jdbc.Driver# 数据源二:data_two 库secondary:# 2.0开始的版本必须这样配置jdbc-url: jdbc:mysql://localhost:3306/data_two#url: jdbc:mysql://localhost:3306/data_twousername: rootpassword: 123driver-class-name: com.mysql.jdbc.Driver
3、数据源代码配置
1)数据源一的配置
@Primary 注解表示该数据源作为默认的主数据库。
/*** 数据源一配置*/
@Configuration
public class DataOneConfig {@Primary // 主数据库@Bean(name = "primaryDataSource")@Qualifier("primaryDataSource")@ConfigurationProperties(prefix = "spring.datasource.primary")public DataSource primaryDataSource (){return DataSourceBuilder.create().build() ;}@Bean(name = "primaryJdbcTemplate")public JdbcTemplate primaryJdbcTemplate (@Qualifier("primaryDataSource") DataSource dataSource){return new JdbcTemplate(dataSource);}
}
2)数据源二配置
/*** 数据源二配置*/
@Configuration
public class DataTwoConfig {@Bean(name = "secondaryDataSource")@Qualifier("secondaryDataSource")@ConfigurationProperties(prefix="spring.datasource.secondary")public DataSource secondaryDataSource() {return DataSourceBuilder.create().build();}@Bean(name = "secondaryJdbcTemplate")public JdbcTemplate secondaryJdbcTemplate(@Qualifier("secondaryDataSource") DataSource dataSource) {return new JdbcTemplate(dataSource);}
}
4、编写一个简单的测试类
@RestController
public class JdbcController {private static final Logger LOG = LoggerFactory.getLogger(JdbcController.class);// 数据源一@Autowired@Qualifier("primaryJdbcTemplate")private JdbcTemplate primaryJdbcTemplate ;// 数据源二@Autowired@Qualifier("secondaryJdbcTemplate")private JdbcTemplate secondaryJdbcTemplate ;/*** 多数据源查询*/@RequestMapping("/queryData")public String queryData (){String sql = "SELECT COUNT(1) FROM d_phone" ;Integer countOne = primaryJdbcTemplate.queryForObject(sql,Integer.class) ;Integer countTwo = secondaryJdbcTemplate.queryForObject(sql,Integer.class) ;LOG.info("countOne=="+countOne+";;countTwo=="+countTwo);return "SUCCESS" ;}
}
三、源代码地址
GitHub地址:知了一笑
https://github.com/cicadasmile/spring-boot-base
码云地址:知了一笑
https://gitee.com/cicadasmile/spring-boot-base
SpringBoot2.0 基础案例(06):引入JdbcTemplate,和多数据源配置相关推荐
- SpringBoot2.0 基础案例(05):多个拦截器配置和使用场景
一.拦截器简介 1.拦截器定义 拦截器,请求的接口被访问之前,进行拦截然后在之前或之后加入某些操作.拦截是AOP的一种实现策略. 拦截器主要用来按照指定规则拒绝请求. 2.拦截器中应用 Token令牌 ...
- SpringBoot2.0基础案例分类总结,后续更新计划说明
一.基础案例 1.基础案例概览 历时一个半月,SpringBoot2.0基础案例的文章基本更新完毕了,基础案例包含了SpringBoot的基础教程,高级应用,日志配置,数据库使用,事务管理等.关于Sp ...
- SpringBoot2.0 基础案例(12):基于转账案例,演示事务管理操作
本文源码 GitHub地址:知了一笑 https://github.com/cicadasmile/spring-boot-base 一.事务管理简介 1.事务基本概念 一组业务操作ABCD,要么全部 ...
- SpringBoot2.0 基础案例(07):集成Druid连接池,配置监控界面
一.Druid连接池 1.druid简介 Druid连接池是阿里巴巴开源的数据库连接池项目.Druid连接池为监控而生,内置强大的监控功能,监控特性不影响性能.功能强大,能防SQL注入,内置Login ...
- SpringBoot2.0 基础案例(14):基于Yml配置方式,实现文件上传逻辑
本文源码 GitHub地址:知了一笑 https://github.com/cicadasmile/spring-boot-base 一.文件上传 文件上传是项目开发中一个很常用的功能,常见的如头像上 ...
- SpringBoot2.0基础案例(01):环境搭建和RestFul风格接口
一.SpringBoot 框架的特点 SpringBoot2.0 特点 1)SpringBoot继承了Spring优秀的基因,上手难度小 2)简化配置,提供各种默认配置来简化项目配置 3)内嵌式容器简 ...
- SpringBoot2.0 基础案例(03):配置系统全局异常映射处理
一.异常分类 这里的异常分类从系统处理异常的角度看,主要分类两类:业务异常和系统异常. 1.业务异常 业务异常主要是一些可预见性异常,处理业务异常,用来提示用户的操作,提高系统的可操作性. 常见的业务 ...
- SpringBoot2.0 基础案例(16):配置Actuator组件,实现系统监控
本文源码 GitHub地址:知了一笑 https://github.com/cicadasmile/spring-boot-base 一.Actuator简介 1.监控组件作用 在生产环境中,需要实时 ...
- SpringBoot2.0 基础案例(15):配置MongoDB数据库,实现增删改查逻辑
本文源码 GitHub地址:知了一笑 https://github.com/cicadasmile/spring-boot-base 一.NoSQL简介 1.NoSQL 概念 NoSQL( Not O ...
最新文章
- Lintcode108 Palindrome Partitioning || solution 题解
- 15-jQuery补充
- fastjson jar包_经过性能对比,我发现温少的FastJson真牛。
- python判断字符大小写转换_Python 字符串大小写转换的简单实例
- oracle同步恢复目录,Oracle创建恢复目录(catalog)
- piblog 0.1
- Android--List与ArrayList区别(转)
- erlang 常用函数
- linux命令ps aux|grep xxx
- 零基础学python实战-Python3.6零基础入门与实战 PDF 带源码视频版
- mysql配置方案_MySQL的安装与配置
- 【渝粤题库】广东开放大学 文化产业概论 形成性考核 (2)
- JMeter 连接 sql server
- SIM900A—发送、接收中英文短信
- 局部语义地图构建——HDMapNet
- 3分钟了解今日头条推荐算法原理
- Web3.0峰会上IPFS最新消息利好不断
- 心灵奇旅中不认识的单词和句子
- Unity 物体自发光
- Navicat Premium介绍