• SpringBoot2.2.2版本自动建表


    环境 idea2019.2  jdk1.8   数据库mysql 5.7

    项目 结构

    new ->Project  使用springboot快速搭建web项目        选好sdk  next

    填写项目信息   next

     点Web-->勾选 Spring Web  

    点SQL->勾选 JDBC API     和   MySQL  Driver

     确认最后的项目信息 Finish   篇幅太长 点开看           这个例子只是生成了表       最后的例子中有数据生成 

    创建下面两个配置文件   放在resource目录下

    spring:
      datasource:
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://localhost:3306/jdbc?useSSL=true&serverTimezone=UTC&characterEncoding=UTF8
        data-username: root
        data-password: root
        initialization-mode: always
        schema=classpath: schema.sql
    application.yml
    DROP TABLE IF EXISTS `department`;
    CREATE TABLE `department` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `departmentName` varchar(255) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
    schema.sql

    手动新建jdbc数据库       测试数据库连接  

    @RunWith(SpringRunner.class)手动添加  没有自动生成
    @RunWith(SpringRunner.class)
    @SpringBootTest
    class Springboot06jdbcApplicationTests {
        @Autowired
        DataSource dataSource;
    
        @Test
        void contextLoads() throws SQLException {
            System.out.println("------>>>"+dataSource.getClass());
            Connection connection = dataSource.getConnection();
            System.out.println("=========>>>"+connection);
            connection.close();
        }
    
    }

    springboot 2 以后默认使用HikariDataSource 数据源  

    使用Hikari连接池

     

     验证后  运行spingboot启动类即可

     

     结果  

    如果想生成表  并生成数据   请看下面操作

    user.sql

     drop table  if exists user;
     create table user (id bigint(20) not null auto_increment,
     username varchar(40) DEFAULT NULL,
     name varchar(20) DEFAULT NULL,
     age int(3) DEFAULT NULL,
     balance decimal(10,2) DEFAULT NULL,
     primary key(id))ENGINE=InnoDB DEFAULT CHARSET=utf8;

    data.sql

    insert into user (id, username, name, age, balance) values (1,'account1','张三', 20, 100.00);
    insert into user (id, username, name, age, balance) values (2,'account2','李四', 28, 180.00);
    insert into user (id, username, name, age, balance) values (3,'account3','王五', 32, 280.00);

     修改application.yml    

    spring:
      datasource:
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://localhost:3306/jdbc?useSSL=true&serverTimezone=UTC&characterEncoding=UTF8
        data-username: root
        data-password: root
        initialization-mode: always
        #schema=classpath: schema.sql
        schema=classpath: user.sql
        data=classpath: data.sql

     生成表并且插入数据

    完整的项目结构

    古人学问无遗力,少壮工夫老始成。 纸上得来终觉浅,绝知此事要躬行。
  • 相关阅读:
    编写你自己的单点登录(SSO)服务
    SignalR + KnockoutJS + ASP.NET MVC4 实现井字游戏
    Quartz使用总结
    Quartz.Net入门
    ASP.NET批量下载文件的方法
    Asp.Net文件的上传和下载
    AOP实践—ASP.NET MVC5 使用Filter过滤Action参数防止sql注入,让你代码安全简洁
    ASP.NET MVC4中的异步控制器
    Mybatis表关联一对多、多对一、多对多
    Xamarin android使用Sqlite做本地存储数据库
  • 原文地址:https://www.cnblogs.com/wf-zhang/p/12163577.html
Copyright © 2020-2023  润新知