SpringBoot学习 _02 _配置单数据源(1)
SpringBoot学习 _02 _配置单数据源(1)
1、通过IDEA创建SpringBoot项目
直接到选择依赖这一步,选择如图所示的 五个依赖即可

2、配置文件的编写
此处说明一下,这个数据库连接信息是 第三步中 通过 showConnect 方法查看输出结果拿到的,可以先实现数据连接的输出,再来配置 spring的数据库连接信息(这些连接信息主要是为了能够进行数据库操作而配置的)
使用yaml格式
management:
endpoints:
web:
exposure:
include: *
spring:
datasource:
url: jdbc:h2:mem:testdb
user: SA
password:
hikari:
maximum-pool-size: 5
minimum-idle: 5
idle-timeout: 60000
connection-timeout: 30000
max-lifetime: 1800000
或者使用 properties格式
management.endpoints.web.exposure.include=*
spring.output.ansi.enabled=ALWAYS
spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.hikari.maximumPoolSize=5
spring.datasource.hikari.minimumIdle=5
spring.datasource.hikari.idleTimeout=600000
spring.datasource.hikari.connectionTimeout=30000
spring.datasource.hikari.maxLifetime=1800000
3、编写方法输出
准备数据:
H2是内置的数据库数据保存在内存中,在运行时要准备数据,运行后内存会被释放
/*src/main/resources/scheme.sql*/
/*在这个文件中进行建表*/
CREATE TABLE FOO (ID INT IDENTITY, BAR VARCHAR(64));
/*src/main/resources/data.sql*/
/*插入数据*/
INSERT INTO FOO (ID, BAR) VALUES (1, 'aaa');
INSERT INTO FOO (ID, BAR) VALUES (2, 'bbb');
直接在主函数编写方法即可,需要让主函数 继承 CommandLineRunner 接口 这样 才能 重载 其中的 run 方法 再通过 run方法调用 showConnect 和 showData 等等方法
package geektime.spring.data.datasourcedemo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.jdbc.core.JdbcTemplate;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;
@SpringBootApplication
@Slf4j
public class DataSourceDemoApplication implements CommandLineRunner {
@Autowired
private DataSource dataSource;
@Autowired
private JdbcTemplate jdbcTemplate;
public static void main(String[] args) {
SpringApplication.run(DataSourceDemoApplication.class, args);
}
@Override
public void run(String... args) throws Exception {
showConnection();
showData();
}
private void showConnection() throws SQLException {
log.info(dataSource.toString());
Connection conn = dataSource.getConnection();
log.info(conn.toString());
conn.close();
}
private void showData() {
jdbcTemplate.queryForList("SELECT * FROM FOO")
.forEach(row -> log.info(row.toString()));
}
}
小结:
到这一步,能够输出 数据库的连接信息了,也能够 新建表和 插入数据并读取数据打印出来了,其中是如何一步步实现这个过程的,有什么样的原理,下回再来详细说明一下这一篇文章中所做的一些配置和其中的原理。
SpringBoot学习 _02 _配置单数据源(1)的更多相关文章
- SpringBoot学习笔记:动态数据源切换
SpringBoot学习笔记:动态数据源切换 数据源 Java的javax.sql.DataSource接口提供了一种处理数据库连接的标准方法.通常,DataSource使用URL和一些凭据来建立数据 ...
- springboot学习笔记:9.springboot+mybatis+通用mapper+多数据源
本文承接上一篇文章:springboot学习笔记:8. springboot+druid+mysql+mybatis+通用mapper+pagehelper+mybatis-generator+fre ...
- SpringBoot学习笔记(7):Druid使用心得
SpringBoot学习笔记(7):Druid使用心得 快速开始 添加依赖 <dependency> <groupId>com.alibaba</groupId> ...
- Springboot学习07-数据源Druid
Springboot学习07-数据源Druid 关键字 Druid 前言 学习笔记 正文 1-Druid是什么 Druid是阿里巴巴开源平台上的一个项目,整个项目由数据库连接池.插件框架和SQL解析器 ...
- SpringBoot整合MyBatisPlus配置动态数据源
目录 SpringBoot整合MyBatisPlus配置动态数据源 SpringBoot整合MyBatisPlus配置动态数据源 推文:2018开源中国最受欢迎的中国软件MyBatis-Plus My ...
- SpringBoot学习- 10、设计用户角色权限表
SpringBoot学习足迹 前几节已经基本了解了SpringBoot框架常用的技术,其他的消息队列,定时器等技术暂时用不到,真正项目中如果基于微信系,阿里系开发的话,还要了解平台专用的技术知识,学习 ...
- springboot学习笔记:8. springboot+druid+mysql+mybatis+通用mapper+pagehelper+mybatis-generator+freemarker+layui
前言: 开发环境:IDEA+jdk1.8+windows10 目标:使用springboot整合druid数据源+mysql+mybatis+通用mapper插件+pagehelper插件+mybat ...
- SpringBoot学习之整合Mybatis
本博客使用IDEA开发工具,通过Maven构建SpringBoot项目,初始化项目添加的依赖有:spring-boot-starter-jdbc.spring-boot-starter-web.mys ...
- SpringBoot 自定义注解 实现多数据源
SpringBoot自定义注解实现多数据源 前置学习 需要了解 注解.Aop.SpringBoot整合Mybatis的使用. 数据准备 基础项目代码:https://gitee.com/J_look/ ...
- springboot 学习资源推荐
springboot 是什么?对于构建生产就绪的Spring应用程序有一个看法. Spring Boot优先于配置的惯例,旨在让您尽快启动和运行.(这是springboot的官方介绍) 我们为什么要学 ...
随机推荐
- JUC高并发编程(三)之模拟接口压力测试
1.背景 接口压力测试是产品上线前很重要的一项测试,我们可以使用很多开源工具测试, 当然我们也可以简单的写一个多线程并发测试案例 2.代码 controller接口 /** * 查询订单 * * @r ...
- XXL-JOB系统化图文教程
1.背景 大纲 调度任务在系统中中经常用到, 比如 定时发送营销短信 定时检查订单状态 等等..... 总之我们经常会用到定时任务 官方文档:https://www.xuxueli.com/xxl-j ...
- 代码随想录Day10
232.用栈实现队列 请你仅使用两个栈实现先入先出队列.队列应当支持一般队列支持的所有操作(push.pop.peek.empty): 实现 MyQueue 类: void push(int x) 将 ...
- 牛客周赛 Round 4
牛客周赛 Round 4 A-游游的字符串构造_牛客周赛 Round 4 (nowcoder.com) 先把几个\('you'\)输出,剩下的随便输出 #pragma GCC optimize(3) ...
- [nRF24L01+] 5. 数据和控制接口
5. 数据和控制接口 5.1. 特点 管脚: IRQ(该信号为低电平有效信号,由三个可屏蔽中断源控制) CE(此信号为高电平,用于在RX或TX模式下激活芯片) CSN(SPI信号) SCK(SPI信号 ...
- 代码随想录Day19
235. 二叉搜索树的最近公共祖先 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先. 百度百科中最近公共祖先的定义为:"对于有根树 T 的两个结点 p.q,最近公共祖先表示为一个 ...
- mysql外键设置失败踩坑记录
把表里面的数据清空再添加 原因 因为外键一定要对应外面那个表的数据,现在添加外键会导致这个外键的值为空,违反了键的非空约定 理解为已有的数据突然多出来个字段,但是不知道值是什么,那就为空了 主键和外键 ...
- macOS 磁盘设备文件命名规则
macOS 系统使用不同于 Linux 的磁盘设备命名规则.在 macOS 中,磁盘设备和分区被命名并通过 /dev 目录访问,类似于 Linux 和 UNIX 系统.但是,macOS的命名规则遵循特 ...
- LaTeX 常用引用标签前缀
引用对象 标签前缀 Chapter ch Section sec Subsection sec Appendix app Figure fig Table tab List item itm Equa ...
- Spring:IOC(2)
接前文:Spring:IOC 目录 依赖注入之setter注入 依赖注入之构造器注入 特殊值处理 字面量赋值 null值 xml实体 CDATA节 为类类型属性赋值 为数组类型属性赋值 修改Stude ...