SpringBoot2.0 基础案例(06):引入JdbcTemplate,和多数据源配置
程序员文章站
2022-06-19 17:24:26
一、JdbcTemplate对象 1、JdbcTemplate简介 在Spring Boot2.0框架下配置数据源和通过JdbcTemplate访问数据库的案例。 SpringBoot对数据库的操作在jdbc上面做了深层次的封装,使用spring的注入功能,可以把DataSource注册到JdbcT ......
一、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-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
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
上一篇: 搜索引擎优化核心部分
下一篇: 屏蔽百度蜘蛛的方法