当前位置: 首页 > news >正文

深圳做网站-龙华信科seo公司系统

深圳做网站-龙华信科,seo公司系统,南京网页设计哪家好,苏州高端网站建设公司文章目录 一,序二,自动创建数据库1. 数据源配置2. 修改支持数据库创建 三,自动创建数据库表以及数据1. 准备DDL、DML语句1.)典型DDL语句2.)典型DML语句 2. 设置初始化参数 四、源码传送 一,序 针对Java工程…

文章目录

  • 一,序
  • 二,自动创建数据库
    • 1. 数据源配置
    • 2. 修改支持数据库创建
  • 三,自动创建数据库表以及数据
    • 1. 准备DDL、DML语句
      • 1.)典型DDL语句
      • 2.)典型DML语句
    • 2. 设置初始化参数
  • 四、源码传送

一,序

针对Java工程启动时自动创建数据库、数据表的需求

对 java、springmvc工程,我们需要自己动手去实现创建数据表、表数据,具体请移步参阅:JAVA工程启动时自动创建数据库、数据表

下面我们来探讨在Springboot下怎么去实现

二,自动创建数据库

1. 数据源配置

我们知道,springboot工程配置数据源一般采用yaml或properties文件的方式
典型的例子如下
application.yml

spring:datasource:url: ${druid.url}username: ${druid.username}password: ${druid.password}driverClassName: ${druid.driverClassName}type: com.alibaba.druid.pool.DruidDataSourcesqlScriptEncoding: utf-8initializationMode: alwaysschema: classpath:sql/schema.sqldata: classpath:sql/data.sqlcontinueOnError: true

这里yaml文件引用了properties文件

druid.url=jdbc:mysql://127.0.0.1:3306/hello?useSSL=false&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true
druid.driverClassName=com.mysql.cj.jdbc.Driver
druid.username=root
druid.password=root123
druid.filters=stat
druid.initialSize=2
druid.maxActive=20
druid.maxWait=60000
druid.timeBetweenEvictionRunsMillis=60000
druid.minEvictableIdleTimeMillis=300000
druid.validationQuery=SELECT 1
druid.testWhileIdle=true
druid.testOnBorrow=false
druid.testOnReturn=false
druid.poolPreparedStatements=false
druid.maxPoolPreparedStatementPerConnectionSize=200

2. 修改支持数据库创建

修改properties文件druid.url参数添加&createDatabaseIfNotExist=true
注意这里配置的druid.username一定要有建库权限,否则数据库不存在的前提下,会创建失败。

druid.url=jdbc:mysql://127.0.0.1:3306/hello?useSSL=false&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true&createDatabaseIfNotExist=true
druid.driverClassName=com.mysql.cj.jdbc.Driver
druid.username=root
druid.password=root123

三,自动创建数据库表以及数据

1. 准备DDL、DML语句

1.)典型DDL语句

DDL是数据定义语言,主要用来对数据库表结构进行操作,不涉及具体数据,一般保存在 schema.sql

USE `hello`;DROP TABLE IF EXISTS `boot_log`;
CREATE TABLE IF NOT EXISTS `boot_log` ( `id`  bigint NOT NULL AUTO_INCREMENT ,`event_id` varchar(50) ,`event_date` datetime ,`thread` varchar(255) ,`class` varchar(255) ,`function` varchar(255) ,`message` varchar(255) ,`exception` text,`level` varchar(255) ,`time` datetime,
PRIMARY KEY (id)
);DROP TABLE IF EXISTS `user`;
CREATE TABLE IF NOT EXISTS `user` (`id` bigint NOT NULL AUTO_INCREMENT,`username` varchar(20) DEFAULT NULL,`password` varchar(20) DEFAULT NULL,PRIMARY KEY (`id`)
);

2.)典型DML语句

DML是数据操作语言,主要用来对数据库里的数据进行操作,涉及具体数据,一般保存在data.sql

INSERT INTO `user` VALUES ('1', 'username_001', '111111');
INSERT INTO `user` VALUES ('2', 'username_002', '222222');--重复插入,模拟异常
INSERT INTO `user` VALUES ('1', 'username_001', '123456');INSERT INTO `user` VALUES ('3', 'username_003', '333333');
INSERT INTO `user` VALUES ('4', 'username_004', '444444');

2. 设置初始化参数

观察上面的application.yml文件,涉及数据库初始化的参数主要有:

    sqlScriptEncoding: utf-8initializationMode: alwaysschema: classpath:sql/schema.sqldata: classpath:sql/data.sqlcontinueOnError: true
参数说明
sqlScriptEncoding编码
initializationMode初始化行为,取值ALWAYS、EMBEDDED、NEVER
schema指定DDL脚本位置
schemaUsername可选,指定DDL用户名
schemaPassword可选,指定DDL用户密码
data指定DML位置
dataUsername可选,指定DML用户名
dataPassword可选,指定DML用户密码
continueOnError出错是否继续

注意以上说明,是针对springboot2.5.0之前版本,springboot2.5.0之后版本
配置变成如下:

spring:datasource:username: rootpassword: root123url: jdbc:mysql://localhost:3306/testdb?autoReconnect=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&createDatabaseIfNotExist=truesql:init:mode: ALWAYSencoding: utf-8username: rootpassword: root123continueOnError: trueschemaLocations: classpath:schema.sqldataLocations: classpath:data.sql

大家自行研究测试!

四、源码传送

https://gitee.com/00fly/effict-side/tree/master/springboot-log

有任何问题和建议,都可以向我提问讨论,大家一起进步,谢谢!

–over–

http://www.fp688.cn/news/143328.html

相关文章:

  • 农产品品牌推广方案seo优化一般多少钱
  • 青岛做网站优化哪家好泉州全网营销优化
  • wordpress多域名不稳定整站优化报价
  • 仿制网站的软件百度开户公司
  • ecshop做企业网站好的seo网站
  • 网站建设 开发厦门seo代理商
  • 网站的建设哪个好搜索引擎营销的优缺点及案例
  • 汉口北做网站文案代写在哪里接单子
  • wordpress登录后空白seo网上培训课程
  • python策略网站怎么做企业营销平台
  • 网站制作图片插入代码营销软文300字范文
  • 我爱做妈妈网站百度搜索优化怎么做
  • 找个会做网站的 一起做网站磁力狗最佳搜索引擎
  • 域名注册美橙深圳正规seo
  • 海口网站排名推广无锡营销型网站建设
  • 如何建网站卖东西提高工作效率英语
  • 信阳市两学一做网站百度关键词排名
  • 自适应门户网站模板百度还原
  • 中国人民共和国住房和城乡建设部网站sem优化技巧
  • 网站建设培训达内高州新闻 头条 今天
  • 哪儿能做邯郸网站建设爱站工具查询
  • phpcms 调用网站名称万能bt搜索引擎
  • 网站首页 模板网站目录
  • php做网站特效重要新闻今天8条新闻
  • 建设旅游网站的意义快照关键词优化
  • 做智能网站系统下载地址百度竞价推广关键词优化
  • 河北网站开发报价建立网站步骤
  • 电商网站用php做的吗拉新推广怎么做代理
  • 一家只做t恤的网站建设优化网站
  • 武汉h5网站设计seo引擎优化方案