activiti mysql数据库表_mysql进行activiti自动生成数据库表时出现的各种问题

最近项目上需要用到activit,后来网上了解了下需要创建对应的23张表,是可以通过一个代码来自动生成的,但是我操作的过程中遇到了很多问题:首先生成库的代码如下:// 使用代码创建activiti需要的23个表@Testpublic void creteTable() {ProcessEngineConfiguration processEngineConfiguration = ProcessE...
摘要由CSDN通过智能技术生成

最近项目上需要用到activit,后来网上了解了下需要创建对应的23张表,是可以通过一个代码来自动生成的,但是我操作的过程中遇到了很多问题:

首先生成库的代码如下:

// 使用代码创建activiti需要的23个表

@Test

public void creteTable() {

ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration

.createStandaloneProcessEngineConfiguration();

// 连接数据库的配置

// 配置数据库驱动:对应不同数据库类型的驱动

processEngineConfiguration.setJdbcDriver("com.mysql.jdbc.Driver");

// 配置数据库的JDBC URL

processEngineConfiguration

.setJdbcUrl("jdbc:mysql://localhost:3306/activiti?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=utf8");

// 配置连接数据库的用户名

processEngineConfiguration.setJdbcUsername("root");

// 配置连接数据库的密码

processEngineConfiguration.setJdbcPassword("123456");

/**

* public static final String DB_SCHEMA_UPDATE_FALSE =

* "false";不能自动创建表,需要表存在 public static final String

* DB_SCHEMA_UPDATE_CREATE_DROP = "create-drop";先删除表再创建表 public static

* final String DB_SCHEMA_UPDATE_TRUE = "true";如果表不存在,自动创建表

*/

processEngineConfiguration.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);

// 工作流的核心对象,ProcessEnginee对象

ProcessEngine processEngine = processEngineConfiguration.buildProcessEngine();

System.out.println("processEngine:" + processEngine);

}

遇到的问题(1):

解决办法:

show  VARIABLES like '%time_zone%';

set GLOBAL time_zone = '+8:00';

e715fc8dcd2483f2a1cbe8c17c4bc608.png

解决后,再执行,

遇到一个问题(2):

Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.

解决:

按照最新官方提示支持将com.mysql.jdbc.Driver  改为  com.mysql.cj.jdbc.Driver

遇到的问题(3):

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.PropertyEntity.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

at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:23)

at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:107)

at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:98)

at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:62)

at org.activiti.engine.impl.db.DbSqlSession.selectById(DbSqlSession.java:466)

at org.activiti.engine.impl.db.DbSqlSession.dbSchemaUpdate(DbSqlSession.java:1080)

at org.activiti.engine.impl.db.DbSqlSession.performSchemaOperationsProcessEngineBuild(DbSqlSession.java:1473)

at org.activiti.engine.impl.SchemaOperationsProcessEngineBuild.execute(SchemaOperationsProcessEngineBuild.java:25)

at org.activiti.engine.impl.interceptor.CommandInvoker.execute(CommandInvoker.java:24)

at org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:57)

at org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:37)

at org.activiti.engine.impl.cfg.CommandEx

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值