温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

SpringBoot 中怎么利用JdbcTemplate操作数据库

发布时间:2021-07-14 16:59:08 来源:亿速云 阅读:217 作者:Leah 栏目:编程语言

这期内容当中小编将会给大家带来有关SpringBoot 中怎么利用JdbcTemplate操作数据库,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

一、准备数据库

数据库1:PiaoDB

SpringBoot 中怎么利用JdbcTemplate操作数据库

数据库2:PiaoDB2

SpringBoot 中怎么利用JdbcTemplate操作数据库

二、添加依赖、配置

1、首先编辑 pom.xml 文件,添加相关依赖。

<!-- spring-jdbc -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
 
<!-- 数据库驱动依赖 -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>
 
<!-- 数据库连接池 -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.1.9</version>
</dependency>

注意:这里不要引入 Mybatis 的J ar 包,Mybatis 有自动装配的数据源,需要排除。

2、编写配置

# 数据源1
spring.datasource.one.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.one.url=jdbc:mysql://localhost:3306/PiaoDB?useUnicode=swater&characterEncoding=UTF-8
spring.datasource.one.username=root
spring.datasource.one.password=root

# 数据源2
spring.datasource.two.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.two.url=jdbc:mysql://localhost:3306/PiaoDB2?useUnicode=swater&characterEncoding=UTF-8
spring.datasource.two.username=root
spring.datasource.two.password=root

三、编写配置类

1、配置数据源

创建 DataSourceConfig 配置数据源,根据 application.properties 中的配置生成两个数据源:dsOne 和 dsTwo 作为 Bean 的名字加入到 Bean 容器里面。通过@ConfigurationProperties 注解配置文件来创建不同的 DataSource 对象。 

@Configuration
public class DataSourceConfig {

    @Bean
    @ConfigurationProperties("spring.datasource.one")
    DataSource dsOne() {
        return DruidDataSourceBuilder.create().build();
    }

    @Bean
    @ConfigurationProperties("spring.datasource.two")
    DataSource dsTwo() {
        return DruidDataSourceBuilder.create().build();
    }

}

2、配置 JdbcTemplate

创建 JdbcTemplate 两个不同的实例,配置不同的数据源。通过 @Qualifier 注解注入不同的数据源。

@Configuration
public class JdbcTemplateConfig {

    @Bean
    JdbcTemplate jdbcTemplateOne(@Qualifier("dsOne") DataSource dataSource) {
        return new JdbcTemplate(dataSource);
    }

    @Bean
    JdbcTemplate jdbcTemplateTwo(@Qualifier("dsTwo") DataSource dataSource) {
        return new JdbcTemplate(dataSource);
    }

}

四、编写代码

1、创建实体类

@Data
@Accessors(chain = true)
public class Demo {

    private Integer id;

    private String name;

    private Integer num;

    private Date createTime;

}

2、编写Controller

@RestController
@RequestMapping("/demo")
public class DemoController {

    @Resource(name = "jdbcTemplateOne")
    JdbcTemplate jdbcTemplateOne;
    
    @Resource(name = "jdbcTemplateTwo")
    JdbcTemplate jdbcTemplateTwo;

    @RequestMapping("")
    public void test(){
        List<Demo> demo1 = jdbcTemplateOne.query("SELECT * FROM t_demo", new BeanPropertyRowMapper<>(Demo.class));
        List<Demo> demo2 = jdbcTemplateTwo.query("SELECT * FROM t_demo", new BeanPropertyRowMapper<>(Demo.class));
        System.out.println("数据库1:" + demo1);
        System.out.println("数据库2:" + demo2);
    }

}

如果想使用 @Autowired 注入需要配合  @Qualifier() 使用,例子如下:

@RestController
@RequestMapping("/demo")
public class DemoController {

    @Autowired
    @Qualifier("jdbcTemplateTwo")
    JdbcTemplate jdbcTemplateTwo;

}

五、验证结果

我们请求接口:http://127.0.0.1:8086/demo

SpringBoot 中怎么利用JdbcTemplate操作数据库

上述就是小编为大家分享的SpringBoot 中怎么利用JdbcTemplate操作数据库了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI