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

福田网站建设多少钱微网站平台微网站建设方案模板

福田网站建设多少钱,微网站平台微网站建设方案模板,长春鸿祥建设有限公司网站,template是什么文件Sprint Boot应用可以在启动的时候自动执行项目根路径下的SQL脚本文件。我们需要先将sql脚本写好,并将这些静态资源都放置在src/main/resources文件夹下。 再配置application.yml: spring.datasource.initialization-mode 必须配置初始化模式initializa…

Sprint Boot应用可以在启动的时候自动执行项目根路径下的SQL脚本文件。我们需要先将sql脚本写好,并将这些静态资源都放置在src/main/resources文件夹下。

再配置application.yml:

spring.datasource.initialization-mode

      必须配置初始化模式initialization-mode,否则不生效。initialization-mode属性有always、embedded和never。

  • always表示Spring Boot应用启动时始终执行数据库初始化
  • embedded表示只初始化内存数据库,比如H2数据库
  • never表示从不执行初始化数据库

        需要注意的是,配置之后,每次启动都会执行一遍sql文件。但是我们一般都是要求只执行一次。所以我们需要在sql语句中,处理好如果已存在的处理方式。如建表语句中加入:if not exist 判断建表。

spring.datasource.platform

     spring.datasource.platform是数据库平台内容配置项,主要有mysql、postgresql、oracle等。

spring.datasource.schema

    spring.datasource.schema一般配置的是存放的是DDL脚本,即通常为创建或更新库表的脚本。该配置项时数组模式,所以可以配置多个:

application.xml:配置方式:

spring.datasource.schema[0]=classpath:sql/schema-${spring.datasource.platform:mysql}.sql
spring.datasource.schema[1]=classpath:sql/schema-${spring.datasource.platform:mysql}-1.sql

application.yml:配置方式:

spring:
  datasource:
    schema: classpath:sql/schema-${spring.datasource.platform:mysql}.sql, classpath:sql/schema-${spring.datasource.platform:mysql}-1.sql

spring:
  datasource:
    schema:
      - classpath:sql/schema-${spring.datasource.platform:mysql}.sql
      - classpath:sql/schema-${spring.datasource.platform:mysql}-1.sql

spring.datasource.data

spring.datasource.data中一般是DML脚本,即通常为数据插入脚本

该配置项时数组模式,所以可以配置多个:

application.xml:配置方式:

spring.datasource.data[0]=classpath:sql/data-${spring.datasource.platform:mysql}.sql
spring.datasource.data[1]=classpath:sql/data-${spring.datasource.platform:mysql}-1.sql

application.yml:配置方式:

spring:
  datasource:
    data: classpath:data_1.sql, classpath:data_2.sql

spring:
  datasource:
    data:
      - classpath:data_1.sql
      - classpath:data_2.sql

spring.datasource.separator

       spring.datasource.separator是配置sql的断句分割符的,默认是以';'作为断句的分隔符的。但是很多时候我们的sql语句中包含";"但是不是一整个sql语句,这时候使用”;“作为分隔符就会报错。

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'xxxxxx' at line 1

例如我们有存储过程

-- 当存储过程`pro1`存在时,删除。
drop procedure if exists pro1;
-- 创建存储过程`p1`
create procedure pro1()
begindeclare row_num int;select count(*) into row_num from `t_user` where id = 'root';if row_num = 0 thenINSERT INTO `t_user`(`username`, `password`) VALUES ('root', '123456');end if;
end;
-- 调用存储过程`pro1`
call pro1();
drop procedure if exists pro1;

这时候就会报错。通过 spring.datasource.separator我们就可以将默认的断句分割符改为指定值。如:spring.datasource.separator=$$。

-- 当存储过程`pro1`存在时,删除。
drop procedure if exists pro1;$$
-- 创建存储过程`p1`
create procedure pro1()
begindeclare row_num int;select count(*) into row_num from `t_user` where username = 'root';if row_num = 0 thenINSERT INTO `t_user`(`username`, `password`) VALUES ('root', '123456');end if;
end;$$
-- 调用存储过程`pro1`
call pro1();$$
drop procedure if exists pro1;$$

 但是,由于pring.datasource.separator是全局的配置,一但将sql脚本的断句分隔符从';'变成'$$',所以需要在DDLDML语句的';'后加'$$',不然可能会出现将整个脚本当成一条sql语句来执行的情况。

http://www.yayakq.cn/news/369396/

相关文章:

  • 衡水网站建设服务拖拽建站模板
  • 西部数码虚拟主机怎么做网站彩页设计怎么做
  • 洛阳制作网站的公司广东建设工程网站
  • 中国建筑招聘2022新密做网站优化
  • 深圳平台网站建设外链网站分类
  • 泉州建站模板源码深圳seo公司排名
  • 行业论坛网站中国建设人才网信息网站
  • 南川区 网站集约化建设方案个人网站logo
  • 手机运用网站内容管理系统WordPress
  • 推荐昆明做网站建设如何让客户主动找你做网站
  • 网站建设都包括什么科目网站充值系统怎么做
  • 湛江制作网站多少钱手机163邮箱登录
  • 自己录入数据做问卷的网站安心保险官方网站
  • 网站如何加入百度联盟app下载安装免费下载t
  • 哪做网站好佛山网站建设的市场
  • 微信 网站界面 模板热门电影推荐
  • cn域名建设网站需要备案吗网页设计师介绍
  • 以前做弹幕现在的电影网站望野 王绩
  • 深圳营销型定制网站开发1000佛山网站推广 优帮云
  • 知名的网站建设二维码生成器制作
  • 江西省建设厅官方网站wordpress添加赏
  • 网站建设策划方案t中国建设银行官网站诚聘英才
  • 梅州网站建设自己怎么网上注销公司
  • python网站开发教程wordpress功能小工具增加按钮
  • 怎么做手机版网站成都龙泉建设局网站
  • 做网站的公司msgg企业互联网推广方式
  • 坑梓做网站公司怎么样wordpress装机主题
  • 做婚姻网站赚钱北京大企业公司排名
  • nas可以做网站下载服务器吗视觉传达设计主要学什么
  • 漳州网站建设点击博大选wordpress 要求ftp