【问题标题】:createDatabaseIfNotExist=true not working in .properties file in maven projectcreateDatabaseIfNotExist=true 在 Maven 项目的 .properties 文件中不起作用
【发布时间】:2015-10-08 10:11:47
【问题描述】:

我有一个连接到已经存在的数据库的 maven 项目。但是我想更改它,以便如果数据库尚不存在。它被创建。所以我在这一行添加了这个额外的代码?createDatabaseIfNotExist=true

dataSource.url=jdbc:mysql://localhost/rays-database?createDatabaseIfNotExist=true

我有很多错误,所以我的问题是;为了使用 ?createDatabaseIfNotExist=true

,我是否缺少任何额外的配置

我还尝试添加端口号,但我没想到它会产生任何影响。

dataSource.url=jdbc:mysql://localhost:3306/rays-database?createDatabaseIfNotExist=true

这是我的 .properties 文件:

 dataSource.driverClassName=com.mysql.jdbc.Driver
 dataSource.url=jdbc:mysql://localhost/rays-database?createDatabaseIfNotExist=true
 dataSource.username=root
 dataSource.password=

 hibernate.dialect=org.hibernate.dialect.MySQLDialect
 hibernate.show_sql=true
 hibernate.hbm2ddl.auto=create

【问题讨论】:

  • 远射,但您使用的是哪个版本的 mysql JDBC 驱动程序?
  • 您好,感谢@Tunaki 的回复,我正在使用 5.1.6

标签: java database hibernate maven jdbc


【解决方案1】:

请检查此Why is Hibernate not creating database for MySQL?。希望对您有所帮助。您遇到了什么样的错误?

【讨论】:

  • 我已经用 .properties 文件更新了我的问题。看起来差不多。
  • 我得到了一些错误,比如内存泄漏,我的 sql 语法有问题,创建名称为“configureDataSource”的 bean 时出错
  • 将 hibernate.dialect=org.hibernate.dialect.MySQLDialect 替换为 hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
  • 我在方言中添加了 5 但仍然没有变化
  • Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“-database”附近使用正确的语法
【解决方案2】:

你可以试试这个,你必须在数据库名称上添加端口并删除这个(-)。

spring.datasource.url = jdbc:mysql://127.0.0.1:3306/DbName?createDatabaseIfNotExist=true&autoReconnect=true&useSSL=false&useUnicode=yes&characterEncoding=UTF-8&allowPublicKeyRetrieval=true

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-03
    • 2018-02-20
    • 2019-01-25
    • 2018-09-30
    • 2014-06-29
    • 2021-09-14
    相关资源
    最近更新 更多