3.3K Star 15.6K Fork 7.6K

GVPstylefeng / Guns

 / 详情

数据库命名可能会和代码中数据库类型判断起冲突

待办的
创建于  
2022-02-28 02:02

cn.stylefeng.roses.kernel.db.api.sqladapter.AbstractSql 类中

    public String getSql(String jdbcUrl) {
        if (jdbcUrl.contains(DbTypeEnum.ORACLE.getUrlWords())) {
            return oracle();
        }
        if (jdbcUrl.contains(DbTypeEnum.DM.getUrlWords())) {
            return oracle();
        }
        if (jdbcUrl.contains(DbTypeEnum.MS_SQL.getUrlWords())) {
            return sqlServer();
        }
        if (jdbcUrl.contains(DbTypeEnum.PG_SQL.getUrlWords())) {
            return pgSql();
        }
        return mysql();
    }

cn.stylefeng.roses.kernel.rule.enums.DbTypeEnum

    /**
     * mysql
     */
    MYSQL("mysql", "mysql", "select 1"),

    /**
     * pgsql
     */
    PG_SQL("postgresql", "pgsql", "select version()"),

    /**
     * oracle
     */
    ORACLE("oracle", "oracle", "select 1 from dual"),

    /**
     * 达梦(使用oracle的mapping.xml)
     */
    DM("dm", "oracle", "select 1 from dual"),

    /**
     * mssql
     */
    MS_SQL("sqlserver", "mssql", "select 1");

    /**
     * spring.datasource.url中包含的关键字
     */
    private final String urlWords;

其中采用"contains"的形式判断,如数据库为 admin, 则会默认走 DM 数据库

评论 (1)

junnan2014 创建了任务

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(1)
128214 junnan2014 1630741848
Java
1
https://gitee.com/stylefeng/guns.git
git@gitee.com:stylefeng/guns.git
stylefeng
guns
Guns

搜索帮助

53164aa7 5694891 3bd8fe86 5694891