All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.sagacity.sqltoy.solon.configure.SqlToyContextProperties Maven / Gradle / Ivy

There is a newer version: 5.6.32.jre8
Show newest version
package org.sagacity.sqltoy.solon.configure;

import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;

public class SqlToyContextProperties implements Serializable {
	/**
	 *
	 */
	private static final long serialVersionUID = -8313800149129731930L;

	/**
	 * 指定sql.xml 文件路径,多个路径用逗号分隔
	 */
	private String sqlResourcesDir;

	/**
	 * 缓存翻译的配置文件
	 */
	private String translateConfig;

	/**
	 * 针对不同数据库函数进行转换,非必须属性,close 表示关闭
	 */
	private Object functionConverts;

	/**
	 * 数据库方言,一般无需设置
	 */
	private String dialect;

	/**
	 * Sqltoy实体Entity包路径,非必须属性
	 */
	private String[] packagesToScan;

	/**
	 * 额外注解class类,已经没有必要
	 */
	private String[] annotatedClasses;

	/**
	 * 具体的sql.xml 文件资源
	 */
	private String[] sqlResources;
	/**
	 * 需要重复执行查询的数据库
	 */
	private String[] redoDataSources;

	/**
	 * es的配置
	 */
	private Elastic elastic;

	/**
	 * 是否开启debug模式(默认为false)
	 */
	private Boolean debug;

	/**
	 * 批量操作,每批次数量,默认200
	 */
	private Integer batchSize;

	/**
	 * 默认查询数据库端提取记录量,一般无需设置
	 */
	private int fetchSize = -1;

	/**
	 * 分页最大单页数据量(默认是5万)
	 */
	private Integer pageFetchSizeLimit;

	/**
	 * 超时打印sql(毫秒,默认30秒)
	 */
	private Integer printSqlTimeoutMillis;

	/**
	 * sql文件脚本变更检测间隔时长(秒)
	 */
	private Integer scriptCheckIntervalSeconds;

	/**
	 * 缓存更新、sql脚本更新 延迟多少秒开始检测
	 */
	private Integer delayCheckSeconds;

	private String encoding;

	/**
	 * 统一字段处理器
	 */
	private String unifyFieldsHandler;

	/**
	 * 数据库方言参数配置
	 */
	private Map dialectConfig;

	/**
	 * 不同数据库方言的映射(OSCAR-->oracle)
	 */
	private Map dialectMap;

	/**
	 * sqltoy默认数据库
	 */
	private String defaultDataSource;

	/**
	 * 数据库保留字,用逗号分隔
	 */
	private String reservedWords;

	/**
	 * 缓存管理器
	 */
	private String translateCacheManager;

	/**
	 * 字段类型转换器
	 */
	private String typeHandler;

	/**
	 * 自定义数据源选择器
	 */
	private String dataSourceSelector;

	/**
	 * 缓存类型,默认solon,可选caffeine,ehcache
	 */
	private String cacheType = "solon";

	/**
	 * 当发现有重复sqlId时是否抛出异常,终止程序执行
	 */
	private boolean breakWhenSqlRepeat = true;

	/**
	 * map类型的resultType标题转驼峰模式(默认为true)
	 */
	private Boolean humpMapResultTypeLabel;

	/**
	 * 连接管理的实现扩展定义
	 */
	private String connectionFactory;

	/**
	 * 安全私钥
	 */
	private String securePrivateKey;

	/**
	 * 安全公钥
	 */
	private String securePublicKey;

	/**
	 * 字段安全加密处理器定义(开发者可以自行扩展,sqltoy默认提供了RSA的实现)
	 */
	private String fieldsSecureProvider;

	/**
	 * 字段展示安全脱敏处理器(sqltoy默认提供了实现,此处提供不满足的情况下的自行扩展)
	 */
	private String desensitizeProvider;

	/**
	 * add 2022-4-26 自定义filter处理器(预留备用)
	 */
	private String customFilterHandler;

	/**
	 * sql执行超时处理器
	 */
	private String overTimeSqlHandler;

	/**
	 * 获取MetaData的列标题处理策略:default:不做处理;upper:转大写;lower
	 */
	private String columnLabelUpperOrLower = "default";

	/**
	 * 自定义sql拦截加工处理器
	 */
	private String[] sqlInterceptors;

	/**
	 * 拆分merge into 为updateAll 和 saveAllIgnoreExist 两步操作(1、seata分布式事务不支持merge)
	 */
	private boolean splitMergeInto = false;

	/**
	 * 数据修改提示的记录数量阈值,默认2000条
	 */
	private int updateTipCount = 2000;

	/**
	 * executeSql变更操作型sql执行空白参数是否默认转为null
	 */
	private boolean executeSqlBlankToNull = true;
	/**
	 * 跳转超出数据页范围回到第一页
	 */
	private Boolean overPageToFirst;

	/**
	 * sql格式化输出器(用于debug sql输出)
	 */
	private String sqlFormater;

	/**
	 * 未匹配的数据库类型分页是否是limit ? offset ? 模式还是 limit ?,? 模式
	 */
	private boolean defaultPageOffset = true;

	/**
	 * 线程池配置参数
	 */
	private SqlToyContextTaskPoolProperties taskExecutor = new SqlToyContextTaskPoolProperties();

	/**
	 * 默认一页数据记录数量
	 */
	private int defaultPageSize = 10;

	/**
	 * 自定义数据库DDL产生器
	 */
	private String dialectDDLGenerator;

	/**
	 * sql输出时默认日期格式,可以是:
	 * 

*

  • 1、auto
  • *
  • 2、"yyyy-MM-dd HH:mm:ss.SSS"
  • *
  • 3、"yyyy-MM-dd HH:mm:ss.SSSSSS"
  • *
  • 4、"yyyy-MM-dd HH:mm:ss.SSSSSSSSS"
  • *

    */ private String localDateTimeFormat = "yyyy-MM-dd HH:mm:ss"; /** * 1、auto 2、"HH:mm:ss.SSS" 3、"HH:mm:ss.SSSSSS" 4、"HH:mm:ss.SSSSSSSSS" */ private String localTimeFormat = "HH:mm:ss"; /** * 是否基于实体注解动态生成表结构 */ private Boolean autoDDL; /** * 业务代码调用点获取 */ private String firstBizCodeTrace; /** * 单记录保存采用identity、sequence主键策略,并返回主键值时,字段名称大小写处理(lower/upper) */ private HashMap dialectReturnPrimaryColumnCase; /** * @return the sqlResourcesDir */ public String getSqlResourcesDir() { return sqlResourcesDir; } /** * @param sqlResourcesDir the sqlResourcesDir to set */ public void setSqlResourcesDir(String sqlResourcesDir) { this.sqlResourcesDir = sqlResourcesDir; } /** * @return the translateConfig */ public String getTranslateConfig() { return translateConfig; } /** * @param translateConfig the translateConfig to set */ public void setTranslateConfig(String translateConfig) { this.translateConfig = translateConfig; } public Boolean getDebug() { return debug; } public void setDebug(Boolean debug) { this.debug = debug; } /** * @return the batchSize */ public Integer getBatchSize() { return batchSize; } /** * @param batchSize the batchSize to set */ public void setBatchSize(Integer batchSize) { this.batchSize = batchSize; } public Object getFunctionConverts() { return functionConverts; } /** * functionConverts=close 表示关闭 * * @param functionConverts */ public void setFunctionConverts(Object functionConverts) { this.functionConverts = functionConverts; } /** * @return the packagesToScan */ public String[] getPackagesToScan() { return packagesToScan; } /** * @param packagesToScan the packagesToScan to set */ public void setPackagesToScan(String[] packagesToScan) { this.packagesToScan = packagesToScan; } /** * @return the unifyFieldsHandler */ public String getUnifyFieldsHandler() { return this.unifyFieldsHandler; } /** * @param unifyFieldsHandler the unifyFieldsHandler to set */ public void setUnifyFieldsHandler(String unifyFieldsHandler) { this.unifyFieldsHandler = unifyFieldsHandler; } public Elastic getElastic() { return elastic; } public void setElastic(Elastic elastic) { this.elastic = elastic; } public String getDialect() { return dialect; } public void setDialect(String dialect) { this.dialect = dialect; } public Map getDialectConfig() { return dialectConfig; } public void setDialectConfig(Map dialectConfig) { this.dialectConfig = dialectConfig; } public Integer getPageFetchSizeLimit() { return pageFetchSizeLimit; } public void setPageFetchSizeLimit(Integer pageFetchSizeLimit) { this.pageFetchSizeLimit = pageFetchSizeLimit; } public String[] getAnnotatedClasses() { return annotatedClasses; } public void setAnnotatedClasses(String[] annotatedClasses) { this.annotatedClasses = annotatedClasses; } public String getEncoding() { return encoding; } public void setEncoding(String encoding) { this.encoding = encoding; } public Integer getPrintSqlTimeoutMillis() { return printSqlTimeoutMillis; } public void setPrintSqlTimeoutMillis(Integer printSqlTimeoutMillis) { this.printSqlTimeoutMillis = printSqlTimeoutMillis; } public Integer getScriptCheckIntervalSeconds() { return scriptCheckIntervalSeconds; } public void setScriptCheckIntervalSeconds(Integer scriptCheckIntervalSeconds) { this.scriptCheckIntervalSeconds = scriptCheckIntervalSeconds; } public Integer getDelayCheckSeconds() { return delayCheckSeconds; } public void setDelayCheckSeconds(Integer delayCheckSeconds) { this.delayCheckSeconds = delayCheckSeconds; } public String[] getSqlResources() { return sqlResources; } public void setSqlResources(String[] sqlResources) { this.sqlResources = sqlResources; } public String getDefaultDataSource() { return defaultDataSource; } public void setDefaultDataSource(String defaultDataSource) { this.defaultDataSource = defaultDataSource; } /** * @return the reservedWords */ public String getReservedWords() { return reservedWords; } /** * @param reservedWords the reservedWords to set */ public void setReservedWords(String reservedWords) { this.reservedWords = reservedWords; } /** * @return the translateCacheManager */ public String getTranslateCacheManager() { return translateCacheManager; } /** * @param translateCacheManager the translateCacheManager to set */ public void setTranslateCacheManager(String translateCacheManager) { this.translateCacheManager = translateCacheManager; } /** * @return the typeHandler */ public String getTypeHandler() { return typeHandler; } /** * @param typeHandler the typeHandler to set */ public void setTypeHandler(String typeHandler) { this.typeHandler = typeHandler; } /** * @return the cacheType */ public String getCacheType() { return cacheType; } /** * @param cacheType the cacheType to set */ public void setCacheType(String cacheType) { this.cacheType = cacheType; } /** * @return the dataSourceSelector */ public String getDataSourceSelector() { return dataSourceSelector; } /** * @param dataSourceSelector the dataSourceSelector to set */ public void setDataSourceSelector(String dataSourceSelector) { this.dataSourceSelector = dataSourceSelector; } /** * @return the fetchSize */ public int getFetchSize() { return fetchSize; } /** * @param fetchSize the fetchSize to set */ public void setFetchSize(int fetchSize) { this.fetchSize = fetchSize; } public void setConnectionFactory(String connectionFactory) { this.connectionFactory = connectionFactory; } public String getConnectionFactory() { return connectionFactory; } /** * @return the breakWhenSqlRepeat */ public boolean isBreakWhenSqlRepeat() { return breakWhenSqlRepeat; } /** * @param breakWhenSqlRepeat the breakWhenSqlRepeat to set */ public void setBreakWhenSqlRepeat(boolean breakWhenSqlRepeat) { this.breakWhenSqlRepeat = breakWhenSqlRepeat; } public String getSecurePrivateKey() { return securePrivateKey; } public void setSecurePrivateKey(String securePrivateKey) { this.securePrivateKey = securePrivateKey; } public String getSecurePublicKey() { return securePublicKey; } public void setSecurePublicKey(String securePublicKey) { this.securePublicKey = securePublicKey; } public String getFieldsSecureProvider() { return fieldsSecureProvider; } public void setFieldsSecureProvider(String fieldsSecureProvider) { this.fieldsSecureProvider = fieldsSecureProvider; } public String getDesensitizeProvider() { return desensitizeProvider; } public void setDesensitizeProvider(String desensitizeProvider) { this.desensitizeProvider = desensitizeProvider; } public String getCustomFilterHandler() { return customFilterHandler; } public void setCustomFilterHandler(String customFilterHandler) { this.customFilterHandler = customFilterHandler; } public String getOverTimeSqlHandler() { return overTimeSqlHandler; } public void setOverTimeSqlHandler(String overTimeSqlHandler) { this.overTimeSqlHandler = overTimeSqlHandler; } public String getColumnLabelUpperOrLower() { return columnLabelUpperOrLower; } public void setColumnLabelUpperOrLower(String columnLabelUpperOrLower) { this.columnLabelUpperOrLower = columnLabelUpperOrLower; } public String[] getSqlInterceptors() { return sqlInterceptors; } public void setSqlInterceptors(String[] sqlInterceptors) { this.sqlInterceptors = sqlInterceptors; } public boolean isSplitMergeInto() { return splitMergeInto; } public void setSplitMergeInto(boolean splitMergeInto) { this.splitMergeInto = splitMergeInto; } public int getUpdateTipCount() { return updateTipCount; } public void setUpdateTipCount(int updateTipCount) { this.updateTipCount = updateTipCount; } public boolean isExecuteSqlBlankToNull() { return executeSqlBlankToNull; } public void setExecuteSqlBlankToNull(boolean executeSqlBlankToNull) { this.executeSqlBlankToNull = executeSqlBlankToNull; } public Boolean getHumpMapResultTypeLabel() { return humpMapResultTypeLabel; } public void setHumpMapResultTypeLabel(Boolean humpMapResultTypeLabel) { this.humpMapResultTypeLabel = humpMapResultTypeLabel; } public String[] getRedoDataSources() { return redoDataSources; } public void setRedoDataSources(String[] redoDataSources) { this.redoDataSources = redoDataSources; } public Boolean getOverPageToFirst() { return overPageToFirst; } public void setOverPageToFirst(Boolean overPageToFirst) { this.overPageToFirst = overPageToFirst; } public String getSqlFormater() { return sqlFormater; } public void setSqlFormater(String sqlFormater) { this.sqlFormater = sqlFormater; } public boolean isDefaultPageOffset() { return defaultPageOffset; } public void setDefaultPageOffset(boolean defaultPageOffset) { this.defaultPageOffset = defaultPageOffset; } public SqlToyContextTaskPoolProperties getTaskExecutor() { return taskExecutor; } public void setTaskExecutor(SqlToyContextTaskPoolProperties taskExecutor) { this.taskExecutor = taskExecutor; } public int getDefaultPageSize() { return defaultPageSize; } public void setDefaultPageSize(int defaultPageSize) { this.defaultPageSize = defaultPageSize; } public Boolean getAutoDDL() { return autoDDL; } public void setAutoDDL(Boolean autoDDL) { this.autoDDL = autoDDL; } /** * @return the dialectDDLGenerator */ public String getDialectDDLGenerator() { return dialectDDLGenerator; } /** * @param dialectDDLGenerator the dialectDDLGenerator to set */ public void setDialectDDLGenerator(String dialectDDLGenerator) { this.dialectDDLGenerator = dialectDDLGenerator; } /** * @return the localDateTimeFormat */ public String getLocalDateTimeFormat() { return localDateTimeFormat; } /** * @param localDateTimeFormat the localDateTimeFormat to set */ public void setLocalDateTimeFormat(String localDateTimeFormat) { this.localDateTimeFormat = localDateTimeFormat; } /** * @return the localTimeFormat */ public String getLocalTimeFormat() { return localTimeFormat; } /** * @param localTimeFormat the localTimeFormat to set */ public void setLocalTimeFormat(String localTimeFormat) { this.localTimeFormat = localTimeFormat; } /** * @return the dialectMap */ public Map getDialectMap() { return dialectMap; } /** * @param dialectMap the dialectMap to set */ public void setDialectMap(Map dialectMap) { this.dialectMap = dialectMap; } public String getFirstBizCodeTrace() { return firstBizCodeTrace; } public void setFirstBizCodeTrace(String firstBizCodeTrace) { this.firstBizCodeTrace = firstBizCodeTrace; } /** * @return the dialectReturnPrimaryColumnCase */ public HashMap getDialectReturnPrimaryColumnCase() { return dialectReturnPrimaryColumnCase; } /** * @param dialectReturnPrimaryColumnCase the dialectReturnPrimaryColumnCase to * set */ public void setDialectReturnPrimaryColumnCase(HashMap dialectReturnPrimaryColumnCase) { this.dialectReturnPrimaryColumnCase = dialectReturnPrimaryColumnCase; } }




    © 2015 - 2024 Weber Informatics LLC | Privacy Policy