openGauss学习笔记121 openGauss 数据库管理设置密态等值查询使用JDBC操作密态数据库

openGauss学习笔记-121 openGauss 数据库管理-设置密态等值查询-使用JDBC操作密态数据库121.1 连接密态数据库121.2 调用isValid方法刷新缓存示例121.3 执行密态等值查询相关的创建密钥语句121.4 执行密态等值查询相关的创建加密表的语句121.5 执行加密表的预编译SQL语句121.6 执行加密表的批处理操作

openGauss学习笔记-121 openGauss 数据库管理-设置密态等值查询-使用JDBC操作密态数据库

121.1 连接密态数据库

连接密态数据库需要使用驱动包gsjdbc4.jar,具体JDBC连接参数参考基于JDBC开发章节介绍。JDBC支持密态数据库相关操作,需要设置enable_ce=1,示例如下。

public static Connection getConnect(String username, String passwd)
  {
       //驱动类。
       String driver = "org.opengauss.Driver";
       //数据库连接描述符。
       String sourceURL = "jdbc:opengauss://10.10.0.13:8000/postgres?enable_ce=1";
       Connection conn = null;
       
       try
      {
           //加载驱动。
           Class.forName(driver);
      }
       catch( Exception e )
      {
           e.printStackTrace();
           return null;
      }
       
       try
      {
            //创建连接。
           conn = DriverManager.getConnection(sourceURL, username, passwd);
           System.out.println("Connection succeed!");
      }
       catch(Exception e)
      {
           e.printStackTrace();
           return null;
      }
       
       return conn;
  };

  • 【建议】使用JDBC操作密态数据库时,一个数据库连接对象对应一个线程,否则,不同线程变更可能导致冲突。

  • 【建议】使用JDBC操作密态数据库时,不同connection对密态配置数据有变更,由客户端调用isvalid方法保证connection能够持有变更后的密态配置数据,此时需要保证参数refreshClientEncryption为1(默认值为1),在单客户端操作密态数据场景下,refreshClientEncryption参数可以设置为0。