在学习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
标签:JDBC,java,SQLSyntaxErrorException,数据库,activiti,exist,MySQL,### From: https://blog.csdn.net/qq_53612179/article/details/141038924