/** * * */ package com.nis.util; import cn.hutool.core.util.StrUtil; import cn.hutool.log.Log; import org.apache.ibatis.mapping.DatabaseIdProvider; import com.nis.entity.AssetBrand; import com.nis.entity.AssetTypeConf; import com.nis.entity.SysDictEntity; import javax.sql.DataSource; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.SQLException; import java.util.HashMap; import java.util.List; import java.util.Map; /** * 常量 * */ public class Constant { private final static Log logger = Log.get(); public static Boolean rollBack = false; /** * 当前数据库类型 */ public static final String DB_TYPE; public static final String DATABASE_NAME; public static final String ORACLE = "oracle"; public static final String MYSQL = "mysql"; public static final String POSTGRESQL = "postgresql"; static { DatabaseIdProvider databaseIdProvider = SpringContextUtils.getBean("getDatabaseIdProvider", DatabaseIdProvider.class); DataSource dataSource = SpringContextUtils.getBean("dataSource",DataSource.class); String databaseId = null; String databaseName=null; try { databaseId = databaseIdProvider.getDatabaseId(dataSource); Connection connection = dataSource.getConnection(); DatabaseMetaData metaData = connection.getMetaData(); String url = metaData.getURL(); if(StrUtil.isNotBlank(url)) { String[] split = StrUtil.split(url, "?"); databaseName = StrUtil.subAfter(split[0], "/", true); } } catch (SQLException e) { logger.error(e); } DB_TYPE = databaseId; DATABASE_NAME = databaseName; } public static Map assetBrands = new HashMap(); }