学习完以上白嫖的内容后,就可以开始整合了:
我用的是:
Activiti7 + Spring Boot + mybatis Plus + Oracle
spring boot 版本:2.2.4
activiti 版本:7.1.0.0.M5
oracle版本:11g 11.2 64位
默认大家都会创建spring boot 工程,这里仅关注一些细节!
第一点 引入Activiti7、oracle、mybatis plus 的依赖:
<!-- activiti 工作流, 使用mybatis-plus,这里排除mybatis -->
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-spring-boot-starter</artifactId>
<version>7.1.0.M5</version>
<exclusions>
<exclusion>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Oracle数据库 -->
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.3</version>
</dependency>
<!-- mybatis-plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version>
</dependency>
第二点:配置mybatis plus 和 Activiti7,这里用的配置类
@Configuration
@EnableTransactionManagement
@MapperScan("com.hxjr.system.mapper")
public class MybatisPlusConfig {
/**
* 新的分页插件,一缓和二缓遵循mybatis的规则,需要设置 MybatisConfiguration#useDeprecatedExecutor = false 避免缓存出现问题(该属性会在旧插件移除后一同移除)
*/
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.ORACLE));
return interceptor;
}
@Bean
public ConfigurationCustomizer configurationCustomizer() {
return configuration -> configuration.setUseDeprecatedExecutor(false);
}
}
/**
* activiti 工作流配置类
*/
@Configuration
@EnableConfigurationProperties(DataSourceProperties.class)
public class ActivitiConfig implements ProcessEngineConfigurationConfigurer {
@Override
public void configure(SpringProcessEngineConfiguration processEngineConfiguration) {
//配置数据源
processEngineConfiguration.setJdbcDriver("oracle.jdbc.driver.OracleDriver");
processEngineConfiguration.setJdbcUrl("jdbc:oracle:thin:@localhost:1521:XE");
processEngineConfiguration.setJdbcUsername("HXJR_LOAN");
processEngineConfiguration.setJdbcPassword("HXJR_LOAN");
processEngineConfiguration.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_FALSE);
processEngineConfiguration.setDbHistoryUsed(false);
// processEngineConfiguration.setDatabaseTablePrefix("HXJR_LOAN.");
processEngineConfiguration.setHistoryLevel(HistoryLevel.FULL);
processEngineConfiguration.setDatabaseType("oracle");
}
}
第三点:项目启动会出现各种问题:
做如下说明:
1.如果出现版本不匹配:则需要手动修改数据库中 ACT__GE_PROPERTY表中对应的版本号!
schema.version :7.1.0.0
schema.history:create(7.1.0.0)
2.如果创建后提示视图或者表不存在则对表
修改 ACT_RE_DEPLOYMENT表;
增加列: PROJECT_RELEASE_VERSION_
增加列:VERSION_
大小设置 nvachar2 255
– 如此可以修复Activiti7的M5版本缺失字段Bug
然后安稳启动项目即可!
整合告一段落! 祝大家快速完成工作流相应API 的 CRUD!