Jee*_*ets 1 spring jdbc spring-boot
我无法配置如何使用Spring Boot连接到多个架构。到现在为止,在Spring 4和XML配置中,我只能将DB URL设置为:jdbc:mysql://180.179.57.114:3306/?zeroDateTimeBehavior=convertToNull
并且在实体类中指定要使用的架构,从而能够连接到多个架构。
但是,使用Spring Boot我无法实现相同的目标。如果在application.properties中,我仅指定不带模式的JDBC URL,则会出现错误:
没有选择数据库
即使我在实体类中指定了架构名称。请提出如何在Spring Boot中实现相同的目标?谢谢。
小智 6
之所以说“未选择数据库”是因为您在端口号后面加上了斜杠。这应该工作...
jdbc:mysql://180.179.57.114:3306?zeroDateTimeBehavior=convertToNull
Run Code Online (Sandbox Code Playgroud)
我花了很多时间让Hibernate使用一个MySQL实例和多个模式。
我最终将连接指定为:
jdbc:mysql://localhost:3306/schema1?useSSL=false&useUnicode=yes&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
Run Code Online (Sandbox Code Playgroud)
而我的实体为:
@Entity
@Table(name="table1", schema="schema1", catalog="schema1")
public class Table1 {
@Id
private int id;
}
@Entity
@Table(name="table2", schema="schema2", catalog="schema2")
public class Table2 {
@Id
private int id;
}
Run Code Online (Sandbox Code Playgroud)
显然,JDBC将MySQL模式视为目录。我在没有指定架构的情况下尝试了上述方法,但它确实有效,但是对于集成测试,我使用的是HSQL,因此我将架构保留在@Table定义中。
希望这对某人有帮助。
归档时间: |
|
查看次数: |
4812 次 |
最近记录: |