activiti初始化报:java.sql.SQLSyntaxErrorException: Table ‘activiti.act_ge_property‘ doesn‘t exist

在学习activiti过成中,由于使用的MySQL是8版本的,所以报了:

org.apache.ibatis.exceptions.PersistenceException: 
### Error querying database.  Cause: java.sql.SQLSyntaxErrorException: Table 'activiti.act_ge_property' doesn't exist
### The error may exist in org/activiti/db/mapping/entity/Property.xml
### The error may involve org.activiti.engine.impl.persistence.entity.PropertyEntityImpl.selectProperty-Inline
### The error occurred while setting parameters
### SQL: select * from ACT_GE_PROPERTY where NAME_ = ?
### Cause: java.sql.SQLSyntaxErrorException: Table 'activiti.act_ge_property' doesn't exist

当我换成5.1.6的时候又能够生成25张表,原因:

  • 在早期的 MySQL 5.xxx 版本中,默认情况下,MySQL 数据库管理系统处理 JDBC 连接时对 Catalog(数据库目录)的处理方式相对简单。当 JDBC 驱动程序连接到 MySQL 服务器时,如果应用程序没有显式指定使用的数据库(Catalog),驱动程序可能会将未指定的情况视为当前连接的数据库。
  • 随着 MySQL 服务器的更新和 JDBC 规范的改进,MySQL的开发团队对连接参数的默认设置进行了调整。从 MySQL 6.xxx 开始,默认情况下 nullCatalogMeansCurrent 参数被设置为 false。这意味着如果应用程序没有明确指定要使用的数据库,JDBC 驱动程序将不会假设当前连接的数据库,而会期望应用程序显式地提供数据库信息。

所以需要我们在配置MySQL连接时加上:nullCatalogMeansCurrent=true

  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值