zoukankan      html  css  js  c++  java
  • 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()));
       }
    }
    
    小结:

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

  • 相关阅读:
    使用蓝图构建Flask项目目录
    python上下文管理器细读
    【LiteOS】STM32F103-LiteOS移植教程(详细篇)
    OSX 下 sftp 上传目录到服务器
    Homestead window10 storage:link 不能建立符号链接的处理办法
    Laravel Carbon 简明使用
    VMWare 虚拟机挂载 Homestead NFS 进行老项目(基于 Brophp)维护
    winnfsd 操作
    windows10 查看进程端口的情况
    NFS各个版本之间的比较
  • 原文地址:https://www.cnblogs.com/OwlInTheOaktree/p/15430052.html
Copyright © 2011-2022 走看看