类 JDBCUtility

java.lang.Object
gu.sql2java.utils.JDBCUtility

public class JDBCUtility extends Object
JDBC工具类
从以下版本开始:
3.18.0
作者:
guyadong
  • 构造器详细资料

    • JDBCUtility

      public JDBCUtility()
  • 方法详细资料

    • setDefaultConnProperties

      public static void setDefaultConnProperties(Properties defaultConnProperties)
      设置默认的JDBC连接参数, 为null忽略,用于为createConnection(String, Properties)createConnection(String, String, String, Properties)指定默认参数 当前默认值为"useSSL=false"
      参数:
      defaultConnProperties -
    • getDefaultConnProperties

      public static Properties getDefaultConnProperties()
      返回:
      返回当前默认的JDBC连接参数
    • getJavaClass

      public static Class<?> getJavaClass(int sqlType)
      参数:
      sqlType - SQL Type,see also Types
      返回:
      返回 SQL Type对应的Java类
    • getTablenames

      public static final List<String> getTablenames(DatabaseMetaData meta, String catalog, String schemaPattern, String tableNamePattern) throws SQLException
      查询数据中给定匹配模式的所有表名
      参数:
      meta -
      catalog - 可为null
      schemaPattern - schema 支持'%'匹配
      tableNamePattern - 表名,支持'%'匹配
      返回:
      catalog为null则返回 $schema.$tablename 格式的表名列表,否则返回 $catalog.$schema.$tablename 格式的表名列表, 没有找到返回空表
      抛出:
      SQLException
    • getColumnLabel

      public static final <T> List<T> getColumnLabel(DatabaseMetaData meta, String catalog, String schematable, String columnLabel, Class<T> type)
      通过JDBC 接口返回指定表的字段属性
      参数:
      meta -
      catalog -
      schematable - 表名(schema+tablename)
      columnLabel - 属性名
      type -
    • getColumnNames

      public static final List<String> getColumnNames(DatabaseMetaData meta, String catalog, String schematable)
      通过JDBC 接口返回指定表的字段名列表
      参数:
      meta -
      catalog -
      schematable - 表名(schema+tablename)
      返回:
      字段名列表
    • getColumnTypeNames

      public static final List<String> getColumnTypeNames(DatabaseMetaData meta, String catalog, String schematable)
      通过JDBC 接口返回指定表的字段类型列表
      参数:
      meta -
      catalog -
      schematable - 表名(schema+tablename)
      返回:
      字段名列表
    • getSqlTypes

      public static final int[] getSqlTypes(DatabaseMetaData meta, String catalog, String schematable)
      通过JDBC 接口返回指定表的字段的SQL 类型数组,参见Types
      参数:
      meta -
      catalog -
      schematable - 表名(schema+tablename)
      返回:
      SQL 类型数组
    • getColumnTypes

      public static final Class<?>[] getColumnTypes(DatabaseMetaData meta, String catalog, String schematable, Map<String,Class<?>> targetTypes)
      通过DatabaseMetaData返回表所有字段的Java类型
      参数:
      meta -
      catalog -
      schematable - 表名(schema+tablename)
      targetTypes -
      返回:
      保存所有字段的Java类型的数组
    • getColumnNames

      public static final List<String> getColumnNames(ResultSetMetaData metaData)
      通过ResultSetMetaData返回表字段名字列表
      参数:
      metaData -
    • getColumnTypeNames

      public static final List<String> getColumnTypeNames(ResultSetMetaData metaData)
      通过ResultSetMetaData返回表字段类型列表
      参数:
      metaData -
    • getSqlTypes

      public static int[] getSqlTypes(ResultSetMetaData metaData)
      通过ResultSetMetaData返回表字段的SQL类型
      参数:
      metaData -
    • getColumnTypes

      public static final Class<?>[] getColumnTypes(ResultSetMetaData metaData, Map<String,Class<?>> targetTypes)
      通过ResultSetMetaData返回表字段的Java类型
      参数:
      metaData -
      targetTypes -
      返回:
      字段的类型数组
    • createConnection

      public static Connection createConnection(String url, Properties info) throws SQLException
      创建JDBC数据库连接
      参数:
      url - 数据库连接URL
      info - 数据库连接配置参数
      返回:
      数据库连接对象
      抛出:
      SQLException
    • createConnection

      public static Connection createConnection(String url, String user, String password, Properties info) throws SQLException
      创建JDBC数据库连接
      参数:
      url - 数据库连接URL
      user - 数据库连接用户名
      password - 数据库连接密码
      info - 其他数据库连接配置参数,可为null
      抛出:
      SQLException
    • runMultiSQL

      public static int runMultiSQL(String sql, String url, String user, String password, boolean debug) throws SQLException
      JDBC接口执行SQL脚本,允许执行多条SQL语句
      参数:
      sql - SQL代码
      url - 数据库连接URL
      user - 数据库连接用户名
      password - 数据库连接密码
      debug - 是否调试输出执行的SQL语句
      返回:
      see also Statement.executeUpdate(String)
      抛出:
      SQLException
    • parseSchematable

      public static String[] parseSchematable(String schematable)
      从 $dbhostname/$schema.$tablename格式字符串中解析出数据库名及表名, dbhostname为数据库主机名,当有多个数据库主机连接同一个消息系统时用于在消息频道名中区分不同的数据库主机
      参数:
      schematable -
    • parseTablenme

      public static String parseTablenme(String schematable)
      从 $dbhostname/$schema.$tablename格式字符串中解析出表名 dbhostname为数据库主机名,当有多个数据库主机连接同一个消息系统时用于在消息频道名中区分不同的数据库主机
      参数:
      schematable -
    • parseSchemaFromJDBCURL

      public static String parseSchemaFromJDBCURL(String jdbcurl)
      从数据库连接URL中解析数据库名(schema)字段
      参数:
      jdbcurl -
      返回:
      数据库名(schema)