石英和mysql的自动模式创建失败,并带有MySQLSyntaxException - java

我有一个运行mysql数据库的Spring Boot 2应用程序,想要添加Quartz Scheduler。组态:

spring.quartz.job-store-type=jdbc
spring.quartz.jdbc.initialize-schema=always

spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false

但是在启动时,它不会创建数据库表,并且在访问QRTZ_ *表时会失败。我调试以获取在Spring调用的ScriptUtils类中执行石英脚本tables_mysql_innodv.sql的原因。特意抑制了该异常:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您有一个
SQL语法错误;检查与您的手册相对应的手册
MySQL服务器版本,用于在'DROP TABLE IF附近使用的正确语法
EXISTS QRTZ_PAUSED_TRIGGER_GRPS;如果存在DRTZ TABLE,则存在DRTZ_SCHEDUL
9号线

我看不到任何语法错误,当我直接在MySQL Workbench中执行相同的脚本时,它运行良好,即创建表等。

执行的启动脚本的源代码可以使用here。遇到异常in this line。有一个发现使我感到困惑:同一方法中的代码尝试拆分SQL语句,但仅提取2条语句-第一行#和其余脚本。也许这是实际的问题。

那么,我该如何解决?

版本信息:

  • Spring Boot 2.0.2.RELEASE
  • mysql:mysql-connector-java:5.1.46
  • org.quartz-scheduler:quartz:2.3.0
  • 参考方案

    将以下属性添加到您的配置中,以指定注释字符:

    spring.quartz.jdbc.comment-prefix=#
    

    Spring MVC中的输入验证 - java

    我知道Commons Validator框架是Struts项目在服务器端和客户端验证输入值的事实上的标准。Spring MVC项目是否也是如此?我得到的印象可能不是,大多数Struts书籍和论坛都谈论Commons Validator框架,但是只有少数Spring书籍和论坛可以。在Spring MVC项目中验证输入的最佳实践是什么?干杯! 参考方案 在引入S…

    Java:“自动装配”继承与依赖注入 - java

    Improve this question 我通常以常见的简单形式使用Spring框架: 控制器服务存储库通常,我会在CommonService类中放一个通用服务,并使所有其他服务扩展到类中。一个开发人员告诉我,最好在每个服务中插入CommonClass而不是使用继承。我的问题是,有一个方法比另一个更好吗? JVM或性能是否会受到另一个影响?更新资料Comm…

    Spring MVC Web应用程序检测暴力攻击的最佳方法? - java

    Spring 3.0 MVC中是否有专门用于帮助检测Web应用程序的身份验证/登录页面上的蛮力攻击的功能? 参考方案 经过长期验证的实践是,如果身份验证失败,则会引入随机但相当大的延迟。这样,合法用户将立即登录,但攻击者每次尝试将花费500ms-1s,这使整个暴力概念不切实际(将永远存在)。合法用户偶尔失败的登录只会使他们稍有延迟,并且不会引起注意。如果需要…

    Spring Data Cassandra的事务管理 - java

    我正在使用Spring和Cassandra作为基础数据库。曾提到过弹簧伞项目“ spring data cassandra”。与休眠不同,在这里无法找到如何管理事务。如果您中的某些人已经合并,请共享要包含的事务管理器的详细信息。 参考方案 Cassandra不支持传统(ACID)的事务。在某些特殊情况下,可以通过一些构造来实现事务原子性,例如原子批处理(请参…

    在IntelliJ Spring Boot项目的静态目录中添加子目录会重命名吗? - java

    我是IntelliJ的新手,并且使用它来创建Spring Boot应用程序。我有以下项目结构: 我需要在“resources”目录下的“static”目录下创建一个“css”目录,以便可以在Thymeleaf网页模板中放入要使用的CSS文件。然后,我尝试通过右键单击“静态”目录并使用新建->目录对话框来添加“css”子目录。如下图所示,它没有以“sta…