JRT实现Cache的驱动

我只给PostGreSql和iris写了连接驱动,永国的库是Cache,他就自己写了个驱动,驱动其实就是把数据库差异接口抽取了出来,然后只要配对应数据库驱动就能连响应的数据库了。

package JRT.Dal.Base;

import JRT.Core.MultiPlatform.JRTConfigurtaion;
import JRT.Core.Util.Convert;

public class CacheBase implements JRT.DAL.ORM.DBUtility.IDbFactory {
   
    /**
     * 得到数据库类型
     *
     * @return
     */
    public String GetStrDbType() {
   
        return "cache";
    }

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

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

    /**
     * 得到数据库密码
     *
     * @return
     */
    public String GetUserPass() throws Exception {
   
        return JRTConfigurtaion
                .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 "?";
    }

    /**
     * 处理top的SQL语句
     * @param sql
     * @param topNum
     * @return 返回拼好的topSQL
     */
    public String DealTopSql(String sql,int topNum)
    {
   
        return "top "+topNum+" "+sql;
    }

    /**
     * 加载驱动
     *
     * @return
     */
    public String GetDriver() {
   
        return "com.intersys.jdbc.CacheDriver";
    }

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

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

}


相关推荐

  1. JRT实现Cache驱动

    2023-12-13 12:58:03       45 阅读
  2. 使用nginxproxy_cache实现静态资源缓存

    2023-12-13 12:58:03       32 阅读
  3. 什么是JWT?为什么用JWTJWT实战案例

    2023-12-13 12:58:03       7 阅读
  4. 如何实现JWT Token自动续期

    2023-12-13 12:58:03       20 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-13 12:58:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-13 12:58:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-13 12:58:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-13 12:58:03       20 阅读

热门阅读

  1. go标记omitempty的含义

    2023-12-13 12:58:03       39 阅读
  2. c++基于流文件输入输出的综合程序设计

    2023-12-13 12:58:03       39 阅读
  3. 你在地铁上修过bug吗?

    2023-12-13 12:58:03       39 阅读
  4. reactHooks之useDeferredValue

    2023-12-13 12:58:03       45 阅读
  5. 12.12每日一题(备战蓝桥杯循环输出)

    2023-12-13 12:58:03       30 阅读
  6. 总结MySQL 的一些知识点:MySQL 运算符

    2023-12-13 12:58:03       47 阅读
  7. Windows安装卸载MySQL

    2023-12-13 12:58:03       54 阅读
  8. adb的使用

    2023-12-13 12:58:03       35 阅读
  9. 【python】PDF转长图

    2023-12-13 12:58:03       46 阅读