轻松解决java连接 Intersystem公司 iris cache数据库

1,930 阅读1分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作挑战活动

1、设置对应的枚举类


/**
 * 连接数据需要的常量
 * 这里只是测试临时使用,项目中应该配置在配置文件中
 * 如果需要rpc连接,请在github下面留言
 *
 * @author 福小林
 * https://github.com/ourlang
 */
public enum CacheConnectInfo {
    /**
     * 连接cache数据库的驱动字符串
     */
    CONNECT_DRIVER("com.intersys.jdbc.CacheDriver"),
    /**
     * 连接cache数据库的连接地址和数据库
     */
    CONNECT_URL("jdbc:Cache://127.0.0.1:51773/USER"),
    /**
     * 连接cache数据库的账号
     */
    USERNAME("_SYSTEM"),
    /**
     * 连接cache数据库的密码
     */
    PASSWORD("system");

    private String connectInfo;

    CacheConnectInfo(String connectInfo) {
        this.connectInfo = connectInfo;
    }

    public String getConnectInfo() {
        return connectInfo;
    }
}

2 连接cache 数据库代码示例

import com.intersys.jdbc.CacheDataSource;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

/**
 * 连接cache 数据库代码示例
 * 运行之前请先导入lib下面的jar包
 *
 * @author 福小林
 * https://github.com/ourlang
 */
public class HelloCache {
    public static void main(String[] args) {
        try {
            System.out.println("----------------------------------准备连接数据库----------------------------------");
            Class.forName(CacheConnectInfo.CONNECT_DRIVER.getConnectInfo()).newInstance();
            CacheDataSource ds = new CacheDataSource();
            ds.setURL(CacheConnectInfo.CONNECT_URL.getConnectInfo());
            System.out.println("连接地址:" + ds.getURL());

            System.out.println("----------------------------------开始连接数据库----------------------------------");
            Connection dbconn = ds.getConnection(CacheConnectInfo.USERNAME.getConnectInfo(), CacheConnectInfo.PASSWORD.getConnectInfo());
            System.out.println("数据库连接信息:" + ds.getUser() + "-----" + ds.getPassword());
            String sql = "SELECT ID, ConfigActive, ConfigCode, ConfigDesc, ConfigEdit, ConfigExplain, ConfigType, ConfigValue FROM SQLUser.MKB_Config";
            System.out.println("SQL:" + sql);
            int scroll = ResultSet.TYPE_SCROLL_SENSITIVE;
            int update = ResultSet.CONCUR_UPDATABLE;
            System.out.println("----------------------------------查询开始----------------------------------");
            PreparedStatement ps = dbconn.prepareStatement(sql, scroll, update);
            ResultSet rs = ps.executeQuery();
            rs.first();
            System.out.println("\n Old ConfigCode = " + rs.getString("ConfigCode"));
            System.out.println("----------------------------------修改字段信息开始----------------------------------");
            rs.updateString("ConfigCode", "123456");
            rs.updateRow();
            System.out.println("----------------------------------修改字段结束----------------------------------");
            System.out.println("\n New ConfigCode = " + rs.getString("ConfigCode") + "\n");
            System.out.println("----------------------------------关闭连接----------------------------------");
            ps.close();
            rs.close();
            dbconn.close();
            System.out.println("----------------------------------查询结束----------------------------------");
        } catch (Exception ex) {
            System.out.println("----------------------------------数据库连接失败----------------------------------");
            System.out.println("TinyJDBC caught exception: " + ex.getClass().getName() + ": " + ex.getMessage());
        }
    }
}

3 完整代码地址

github.com/ourlang/cac…