这期内容当中小编将会给大家带来有关SpringBoot 中怎么利用JdbcTemplate操作数据库,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
一、准备数据库
数据库1:PiaoDB
数据库2:PiaoDB2
二、添加依赖、配置
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操作数据库了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。