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()));
   }
}
小结:

到这一步,能够输出 数据库的连接信息了,也能够 新建表和 插入数据并读取数据打印出来了,其中是如何一步步实现这个过程的,有什么样的原理,下回再来详细说明一下这一篇文章中所做的一些配置和其中的原理。

原文地址:https://www.cnblogs.com/OwlInTheOaktree/p/15430052.html