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. JavaSwing 船只停靠管理可视化(一)

    最近抽空闲时间做了船只停靠管理系统,先看一下效果. 停靠泊位管理:实现泊位的 增删改查. JavaSwing 船只停靠管理可视化(一) JavaSwing 船只停靠管理可视化(二) JavaSwing ...

  2. swap是干嘛的?

    本文截取自:http://hbasefly.com/2017/05/24/hbase-linux/ swap是干嘛的? 在Linux下,SWAP的作用类似Windows系统下的"虚拟内存&q ...

  3. C语言3中循环语句的比较

    (1)while和do-while循环只在while后面指定条件,在循环体中应包含使循环趋于结束的语句如(I++):for循环可以在表达式三中包含使循环趋于结束的操作,可以设置循环体中的操作全部放在语 ...

  4. app逆向万能的md5加密hook破解入参方法(其他加密用通用方法原理差不多,小白推荐)

    一.原理 安卓开发调用md5加密时候都会调用到系统类java.security.MessageDigest 加密时候会会调用里面2个关键方法update以及digest 根据这个原理我们开始写代码吧 ...

  5. Spark Streaming和Kafka整合是如何保证数据零丢失

    转载:https://www.iteblog.com/archives/1591.html 当我们正确地部署好Spark Streaming,我们就可以使用Spark Streaming提供的零数据丢 ...

  6. 日常ie兼容问题(持续整理)

    1.关于new Date()格式为何要转成y/m/d格式 IE不会识别时间状态为"y-m-d"的形式,如果获取的new Date("2020-05-01") 那 ...

  7. 风炫安全WEB安全学习第十八节课 使用SQLMAP自动化注入(二)

    风炫安全WEB安全学习第十八节课 使用SQLMAP自动化注入(二) –is-dba 当前用户权限(是否为root权限) –dbs 所有数据库 –current-db 网站当前数据库 –users 所有 ...

  8. Netty与NIO

    初识Netty Netty是由JBoss提供的一个Java的开源框架,是GitHub上的独立项目. Netty是一个异步的,基于事件驱动的网络应用框架,用于快速开发高性能.高可靠的网络IO程序. Ne ...

  9. C++ 中的 inline 详解

    inline:是一个关键词,放在一个函数前面,说明这个函数是inline函数. inline函数是什么?inline有什么作用? 为了解答这个问题,我们首先要知道编译器是如何为我们工作的. 先看一段代 ...

  10. 【Shell】使用awk sed获取一行内容的两个值

    突然有需求需要一个脚本,同时获取到每一行数据的两个值,下面做了一个例子模板,仅供记录参考 cat test.txt  id=1,name=zclinux1 id=2,name=zclinux2 id= ...