JAVA-Activiti 7与达梦、人大金仓兼容-nacos、pom依赖配置(2)

目录

第一步,修改nacos服务配置

 >需注意<

第二步,pom.xml依赖包配置


Activiti的源码包解决之后,接下来就好做很多了

第一步,修改nacos服务配置

spring:
  datasource:
    url: jdbc:kingbase8://127.0.0.1:54321/progress?currentSchema=progress,productName=PostgreSQL,SYS_CATALOG,PUBLIC
    username: root
    password: 123456
    driver-class-name: com.kingbase8.Driver
    initialSize: 1
    minIdle: 3
    maxActive: 20
    maxWait: 60000
    timeBetweenEvictionRunsMillis: 60000
    minEvictableIdleTimeMillis: 30000
    testWhileIdle: false
    testOnBorrow: false
    testOnReturn: false
    poolPreparedStatements: true
    maxPoolPreparedStatementPerConnectionSize: 20
  activiti:
    database-type: postgres
    database-schema: public
    database-schema-update: none   # 对所有表更新操作, 如不存在则创建
    db-history-used: true   # 使用历史表
    history-level: full   # 保存历史数据的最高级别
    check-process-definitions: true  # 校验流程文件

 >需注意<

datasource中的url,currentSchema指定库名,productName指定语言PostgreSQL

activitidatabase-schema指定模式是public还是其他,一般默认public

database-schema-update第一次可以使用true,服务器启动一次之后可以改为none

下图是人大金仓数据库管理工具看到的模式

 如果模式选定有问题会有异常抛出

com.kingbase8.util.KSQLException: 错误: 创建中没有选择模式

分页方言支持

#分页方言支持 postgresql oracle
pagehelper: 
  helperDialect: postgresql
package com.seal.common.config;

import com.baomidou.mybatisplus.core.injector.ISqlInjector;
import com.baomidou.mybatisplus.extension.injector.LogicSqlInjector;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.baomidou.mybatisplus.extension.plugins.PerformanceInterceptor;
import org.apache.ibatis.mapping.DatabaseIdProvider;
import org.apache.ibatis.mapping.VendorDatabaseIdProvider;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;

import java.util.Properties;

@EnableTransactionManagement
@Configuration
@MapperScan("com.seal.*.mapper")
public class MyBatisPlusConfig {

	/**
	 * 注册分页插件
	 */
	@Bean
	public PaginationInterceptor paginationInterceptor() {
        PaginationInterceptor page = new PaginationInterceptor();
        page.setDialectType("postgresql");
//        page.setDialectType("oracle");
		return page;
	}

	/**
	 * 注册逻辑删除组件
	 * @return
	 */
    @Bean
    public ISqlInjector sqlInjector() {
        return new LogicSqlInjector();
    }

    /**
     * 注册性能分析插件,并格式化sql语句,打印sql执行时间
     */
    @Bean
    public PerformanceInterceptor performanceInterceptor() {
        PerformanceInterceptor performanceInterceptor = new PerformanceInterceptor();
        //格式化sql语句
        Properties properties = new Properties();
        properties.setProperty("format", "false"); //参数:format SQL SQL是否格式化,默认false
//        properties.setProperty("maxTime", "100");  //参数:maxTime SQL 执行最大时长,超过自动停止运行,有助于发现问题
        performanceInterceptor.setProperties(properties);
        return performanceInterceptor;
    }

    //SqlExplainInterceptor  sql执行计划,这个在mybatils plus3.x版本的官网上还没有这个,估计还在开发中,
    //不过有要求说mysql数据库需要5.6.3以上的版本才支持

    @Bean
    public DatabaseIdProvider getDatabaseIdProvider(){
        DatabaseIdProvider databaseIdProvider = new VendorDatabaseIdProvider();
        Properties properties = new Properties();
        properties.setProperty("Oracle","oracle");
        properties.setProperty("MySQL","mysql");
        properties.setProperty("DB2","db2");
        properties.setProperty("Derby","derby");
        properties.setProperty("H2","h2");
        properties.setProperty("HSQL","hsql");
        properties.setProperty("Informix","informix");
        properties.setProperty("MS-SQL","ms-sql");
        properties.setProperty("PostgreSQL","postgresql");
        properties.setProperty("Sybase","sybase");
        properties.setProperty("Hana","hana");
        databaseIdProvider.setProperties(properties);
        return databaseIdProvider;
    }

}

 

其余配置项按实例配置既可

第二步,pom.xml依赖包配置

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.activiti.dependencies</groupId>
            <artifactId>activiti-dependencies</artifactId>
            <version>7.1.0.M6</version>
            <scope>import</scope>
            <type>pom</type>
        </dependency>
    </dependencies>
</dependencyManagement>

<!-- activiti -->
<dependency>
    <groupId>org.activiti</groupId>
    <artifactId>activiti-spring-boot-starter</artifactId>
</dependency>
<dependency>
    <groupId>org.activiti</groupId>
    <artifactId>activiti-image-generator</artifactId>
</dependency>
<dependency>
    <groupId>org.activiti</groupId>
    <artifactId>activiti-json-converter</artifactId>
    <version>7.1.0.M6</version>
</dependency>
<dependency>
    <groupId>com.kingbase8</groupId>
    <artifactId>kingbase8</artifactId>
    <version>8.6.0</version>
</dependency>
<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-config</artifactId>
    <version>5.1.7.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-data</artifactId>
    <version>5.1.7.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-web</artifactId>
    <version>5.1.7.RELEASE</version>
</dependency>

接下来启动服务器就ok啦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值