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的官方介绍) 我们为什么要学 ...
随机推荐
- ApacheCon Asia 2022 精彩回顾 | 如何让更多人从大数据中获益?
点亮 ️ Star · 照亮开源之路 GitHub:https://github.com/apache/dolphinscheduler 在 ApacheCon Asia 2022 Meetup上,有 ...
- Aspire8一文通
Aspire8一文通 0.简介 微软Aspire是微软今年推出的一个全新的平台无关.语言无关的新框架,它的设计目的是简化云原生应用的开发.部署和管理过程.Aspire的读音是[əˈspaɪər],它的 ...
- C#数据结构与算法实战入门指南
前言 在编程领域,数据结构与算法是构建高效.可靠和可扩展软件系统的基石.它们对于提升程序性能.优化资源利用以及解决复杂问题具有至关重要的作用.今天大姚分享一些非常不错的C#数据结构与算法实战教程,希望 ...
- 2. 基于MCU应用的EMC指南
1. 硬件 主要的噪声感受器和发生器是印刷电路板(PCB)上的轨道和布线,特别是MCU附近的轨道和布线.因此,防止噪声问题的第一步行动涉及到PCB布局和电源设计.一般来说,MCU周围的元器件数量越少, ...
- 修改ListCtrl控件列标题文本居左显示
修改ListCtrl控件标题文本居左显示 原来的列标题文本是居中显示: 现在要把列表文本居中改为居左显示 其方法如下: 获得标题控件句柄 g_listCtrl.m_hWnd为ListCtrl控件的句柄 ...
- Python 项目及依赖管理工具技术选型
Python 项目及依赖管理工具,类似于 Java 中的 Maven 与 Node 中的 npm + webpack,在开发和维护项目时起着重要的作用.使用适当的依赖管理工具可以显著提高开发效率,减少 ...
- CEIT算法训练-双指针部分题解(全12题)
代码宏定义以及框架约定 #include <bits/stdc++.h> using namespace std; #define IOS ios_base::sync_with_stdi ...
- 坑人的opencv安装
我想捡起来C++,最近在看opencv,于是我想着一起吧. 但是我低估了这个小麻烦的魅力,曾经安装opencv c++版本就头秃,如今依然头秃.说明我没长进啊-- 折腾了两天,终于装上了. 其中最麻烦 ...
- Logstash 配置Java日志格式的方法
Logstash 是用于日志收集的开源工具,通常与 Elasticsearch 和 Kibana 一起使用,形成 ELK Stack(现在称为 Elastic Stack).Logstash 非常灵活 ...
- 04. 寻找两个正序数组的中位数 Golang实现
题目: 给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2.请你找出并返回这两个正序数组的 中位数 . 算法的时间复杂度应该为 O(log (m+n)) . 示例 1: ...