1、JdbcTemplate对象

在Spring Boot2.0框架下配置数据源和通过JdbcTemplate访问数据库的案例。

SpringBoot对数据库的操作在jdbc上面做了深层次的封装,使用springBoot的注入功能,可以把DataSource注册到JdbcTemplate之中。

1.1 JdbcTemplate核心方法

  1. execute方法:可以用于执行任何SQL语句;
  2. update方法batchUpdate方法:update方法用于执行新增、修改、删除等语句;batchUpdate方法用于执行批处理相关语句;
  3. query方法及queryFor方法:用于执行查询相关语句;
  4. call方法:用于执行存储过程、函数相关语句。

2、SpringBoot中使用JDBCTemplate

导入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.1 配置数据源信息

spring:
application:
# 应用名称
name: node06-boot-jdbc
datasource:
# 数据源一:data_one 库
primary:
# 2.0开始的版本必须这样配置
jdbc-url: jdbc:mysql://localhost:3306/data_one
#url: jdbc:mysql://localhost:3306/data_one
username: root
password: 123
driver-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_two
username: root
password: 123
driver-class-name: com.mysql.jdbc.Driver

2.2 数据源代码配置

  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);
}
}
  1. 数据源二配置
/**
* 数据源二配置
*/
@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);
}
}

2.3 编写一个简单的测试类

@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" ;
}
}

六:SpringBoot-引入JdbcTemplate,和多数据源配置的更多相关文章

  1. SpringBoot2.0 基础案例(06):引入JdbcTemplate,和多数据源配置

    一.JdbcTemplate对象 1.JdbcTemplate简介 在Spring Boot2.0框架下配置数据源和通过JdbcTemplate访问数据库的案例. SpringBoot对数据库的操作在 ...

  2. 使用springboot + druid + mybatisplus完成多数据源配置

    一. 简介 1. 版本 springboot版本为2.0.3.RELEASE,mybatisplus版本为2.1.9, druid版本为1.1.9,swagger版本为2.7.0 2. 项目地址   ...

  3. Springboot 2.x下多数据源配置

    本文同样适用于2.x版本下Mybatis的多数据源配置 项目中经常会遇到一个项目需要访问多个数据源的情况,多数情况下可以参考这个教程进行配置. 不过该教程适合springboot1.x版本,由于2.x ...

  4. spring入门(六)【springMVC中各数据源配置】

    在使用spring进行javaWeb开发的过程中,需要和数据库进行数据交换,为此要经常获取数据库连接,使用JDBC的方式获取数据库连接,使用完毕之后再释放连接,这种过程对系统资源的消耗无疑是很大的,这 ...

  5. [转]spring入门(六)【springMVC中各数据源配置】

    在使用spring进行javaWeb开发的过程中,需要和数据库进行数据交换,为此要经常获取数据库连接,使用JDBC的方式获取数据库连接,使用完毕之后再释放连接,这种过程对系统资源的消耗无疑是很大的,这 ...

  6. Spring Boot 2.x基础教程:MyBatis的多数据源配置

    前两天,我们已经介绍了关于JdbcTemplate的多数据源配置以及Spring Data JPA的多数据源配置,接下来具体说说使用MyBatis时候的多数据源场景该如何配置. 添加多数据源的配置 先 ...

  7. springboot之多数据源配置JdbcTemplate

    springboot多数据源配置,代码如下 DataSourceConfig package com.rookie.bigdata.config; import org.springframework ...

  8. DB数据源之SpringBoot+MyBatis踏坑过程(六)mysql中查看连接,配置连接数量

    DB数据源之SpringBoot+MyBatis踏坑过程(六)mysql中查看连接,配置连接数量 liuyuhang原创,未经允许禁止转载 系列目录连接 DB数据源之SpringBoot+Mybati ...

  9. Springboot spring data jpa 多数据源的配置01

    Springboot spring data jpa 多数据源的配置 (说明:这只是引入了多个数据源,他们各自管理各自的事务,并没有实现统一的事务控制) 例: user数据库   global 数据库 ...

随机推荐

  1. 单细胞分析实录(2): 使用Cell Ranger得到表达矩阵

    Cell Ranger是一个"傻瓜"软件,你只需提供原始的fastq文件,它就会返回feature-barcode表达矩阵.为啥不说是gene-cell,举个例子,cell has ...

  2. java内部类 之private 属性对其他对象的访问限制

    public class InnerClass1 { private class Content { private int i; public int value() { // TODO Auto- ...

  3. 用漫画的形式展现——URL和HTTP

    http请求内容:请求头:get.post等发送请求(其他:head.put.delete.option) host 地址 user-Agent cookie 通行证 head:与get请求类似,不同 ...

  4. Head First 设计模式 - 01. 策略 (Strategy) 模式

    当涉及到"维护"时,为了"复用"目的而使用继承,结局并不完美 P4 对父类代码进行修改时,影响层面可能会很大 思考题 利用继承来提供 Duck 的行为,这会导致 ...

  5. JS 学习 一

  6. M43 第一阶段考试

    一.解答题 1.统计当前主机的TCP协议网络各种连接状态出现的次数 netstat -an | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a ...

  7. OOP、封装、继承、多态,真的懂了吗?

    平时只要一提起来面向对象编程OOP的好处,随口就能说出来,不就是封装.继承.多态么,可他们的含义是什么呢,怎么体现,又有什么非用不可的好处啊.可能平时工作中天天在用OOP,仅仅是在用OOP语言,就是一 ...

  8. SqlLoad的简单使用

    sqlload的简单使用: 能实现: 快速导入大量数据 1.先安装oracle 客户端机器.有点大,600M+, 2.安装时选择管理员安装(1.1g) 3.第三步的时候我的出错了.说是环境变量校验不通 ...

  9. 天梯赛练习 L3-011 直捣黄龙 (30分) dijkstra + dfs

    题目分析: 本题我有两种思路,一种是只依靠dijkstra算法,在dijkstra部分直接判断所有的情况,以局部最优解得到全局最优解,另一种是dijkstra + dfs,先计算出最短距离以及每个点的 ...

  10. 关于使用jq跨域请求的实现

    今天算是把js跨域请求搞定了,想实现跨越,首先想到的是JSONP,但是具体去做的时候,发现有很多坑.在本地测试好之后又发现目标网站做了https证书认证,也就是实用的jsonp请求地址必须是https ...