一、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,和多数据源配置相关推荐

  1. SpringBoot2.0 基础案例(05):多个拦截器配置和使用场景

    一.拦截器简介 1.拦截器定义 拦截器,请求的接口被访问之前,进行拦截然后在之前或之后加入某些操作.拦截是AOP的一种实现策略. 拦截器主要用来按照指定规则拒绝请求. 2.拦截器中应用 Token令牌 ...

  2. SpringBoot2.0基础案例分类总结,后续更新计划说明

    一.基础案例 1.基础案例概览 历时一个半月,SpringBoot2.0基础案例的文章基本更新完毕了,基础案例包含了SpringBoot的基础教程,高级应用,日志配置,数据库使用,事务管理等.关于Sp ...

  3. SpringBoot2.0 基础案例(12):基于转账案例,演示事务管理操作

    本文源码 GitHub地址:知了一笑 https://github.com/cicadasmile/spring-boot-base 一.事务管理简介 1.事务基本概念 一组业务操作ABCD,要么全部 ...

  4. SpringBoot2.0 基础案例(07):集成Druid连接池,配置监控界面

    一.Druid连接池 1.druid简介 Druid连接池是阿里巴巴开源的数据库连接池项目.Druid连接池为监控而生,内置强大的监控功能,监控特性不影响性能.功能强大,能防SQL注入,内置Login ...

  5. SpringBoot2.0 基础案例(14):基于Yml配置方式,实现文件上传逻辑

    本文源码 GitHub地址:知了一笑 https://github.com/cicadasmile/spring-boot-base 一.文件上传 文件上传是项目开发中一个很常用的功能,常见的如头像上 ...

  6. SpringBoot2.0基础案例(01):环境搭建和RestFul风格接口

    一.SpringBoot 框架的特点 SpringBoot2.0 特点 1)SpringBoot继承了Spring优秀的基因,上手难度小 2)简化配置,提供各种默认配置来简化项目配置 3)内嵌式容器简 ...

  7. SpringBoot2.0 基础案例(03):配置系统全局异常映射处理

    一.异常分类 这里的异常分类从系统处理异常的角度看,主要分类两类:业务异常和系统异常. 1.业务异常 业务异常主要是一些可预见性异常,处理业务异常,用来提示用户的操作,提高系统的可操作性. 常见的业务 ...

  8. SpringBoot2.0 基础案例(16):配置Actuator组件,实现系统监控

    本文源码 GitHub地址:知了一笑 https://github.com/cicadasmile/spring-boot-base 一.Actuator简介 1.监控组件作用 在生产环境中,需要实时 ...

  9. SpringBoot2.0 基础案例(15):配置MongoDB数据库,实现增删改查逻辑

    本文源码 GitHub地址:知了一笑 https://github.com/cicadasmile/spring-boot-base 一.NoSQL简介 1.NoSQL 概念 NoSQL( Not O ...

最新文章

  1. Lintcode108 Palindrome Partitioning || solution 题解
  2. 15-jQuery补充
  3. fastjson jar包_经过性能对比,我发现温少的FastJson真牛。
  4. python判断字符大小写转换_Python 字符串大小写转换的简单实例
  5. oracle同步恢复目录,Oracle创建恢复目录(catalog)
  6. piblog 0.1
  7. Android--List与ArrayList区别(转)
  8. erlang 常用函数
  9. linux命令ps aux|grep xxx
  10. 零基础学python实战-Python3.6零基础入门与实战 PDF 带源码视频版
  11. mysql配置方案_MySQL的安装与配置
  12. 【渝粤题库】广东开放大学 文化产业概论 形成性考核 (2)
  13. JMeter 连接 sql server
  14. SIM900A—发送、接收中英文短信
  15. 局部语义地图构建——HDMapNet
  16. 3分钟了解今日头条推荐算法原理
  17. Web3.0峰会上IPFS最新消息利好不断
  18. 心灵奇旅中不认识的单词和句子
  19. Unity 物体自发光
  20. Navicat Premium介绍

热门文章

  1. windbg 常用查看锁以及互斥量
  2. 56 - II. 数组中数字出现的次数 II
  3. Python获取当前目录
  4. Python实现FTP服务器和客户端
  5. 05 Python字符串的通用操作
  6. 使用jaxb根据xsd逆向生成java代码
  7. POJ 1850 Code
  8. RSA的加解密过程--(转自CSDN,学习用)
  9. ACCESS的System.Data.OleDb.OleDbException: INSERT INTO 语句的语法错误
  10. 什么是PostgreSQL?跟MySQL、Oracle比强在哪?