jbase支持连IRIS

jbase设计的时候就抽取了IDbFactory接口,支持不同数据库只要配置该接口实现类即可,那么就用IRIS测试下多数据库支持。

首先从IRIS安装目录拷贝jar包
jbase支持连IRIS_第1张图片

然后实现数据库驱动接口
jbase支持连IRIS_第2张图片

package LIS.Dal.Base;

import LIS.Core.MultiPlatform.LISConfigurtaion;
import LIS.Core.Util.Convert;

/**
 * 支持连IRIS库
 */
public class IRISBase  implements LIS.DAL.ORM.DBUtility.IDbFactory {
    /**
     * 得到数据库类型
     *
     * @return
     */
    public String GetStrDbType() {
        return "iris";
    }

    /**
     * 得到数据库连接串,先写死,后面从配置取
     *
     * @return
     */
    public String GetConnectionString() throws Exception {
        System.out.println("连接串:"+ LISConfigurtaion.Configuration("ConnectionString"));
        return LISConfigurtaion.Configuration("ConnectionString");
    }

    /**
     * 得到数据库用户名
     *
     * @return
     */
    public String GetUserName() throws Exception {
        return LISConfigurtaion.Configuration("UserName");
    }

    /**
     * 得到数据库密码
     *
     * @return
     */
    public String GetUserPass() throws Exception {
        return LISConfigurtaion.Configuration("UserPass");
    }

    /**
     * 得到返回查询的RowID的SQL语句,供插入数据得到RowID用
     *
     * @return
     */
    public String GetReturnRowIDSql() {
        return " RETURNING \"RowID\"";
    }

    /**
     * 处理表名称,用来适配不同数据库间的属性命名差异
     *
     * @param tableName 表名
     * @return
     */
    public String DealTableName(String tableName) {
        return tableName;
    }

    /**
     * 处理属性名字
     *
     * @param propertyName 属性名字
     * @return
     */
    public String DealPropertyName(String propertyName) {
        return  propertyName;
    }

    /**
     * 处理Sql参数
     *
     * @param propertyName 属性名字
     * @return
     */
    public String DealSqlPara(String propertyName) {
        return "?";
    }

    /**
     * 加载驱动
     *
     * @return
     */
    public String GetDriver() {
        System.out.println("qqq");
        return "com.intersystems.jdbc.IRISDriver";
    }

    /**
     * 得到初始化连接串大小
     *
     * @return
     */
    public int GetInitPoolSize() throws Exception {
        String initSize = LISConfigurtaion.Configuration("PoolInitPoolSize");
        return Convert.ToInt32(initSize);
    }

    /**
     * 得到最大连接串大小
     *
     * @return
     */
    public int GetMaxPoolSize() throws Exception {
        String maxSize = LISConfigurtaion.Configuration("PoolMaxPoolSize");
        return Convert.ToInt32(maxSize);
    }

}

然后配置容器实现类
jbase支持连IRIS_第3张图片

然后改连接串
jbase支持连IRIS_第4张图片

运行测试
jbase支持连IRIS_第5张图片

就这么简单,支持IRIS,为啥拿IRIS测试,因为别的库的表我就是导的IRIS的表,不需要再给其他库导表啊

你可能感兴趣的:(java)