自定义jdbc框架

获取元数据

元数据- DataBaseMetaData
    DatabaseMetaData  meta = con.getMetaData();
       getDatabaseProductName()、getDatabaseMajorVersion()、
       getDatabaseProductVersion()、getDriverName()、getURL()、getUserName()
元数据- ResultSetMetaData 
ResultSet set = meta.getTables(null, null, null, new String[]{"table"} );
        ResultSetMetaData  set_meta = set.getMetaData();   // 获取结果集的元信息
        System.out.println( "获取表的列数:"+set_meta.getColumnCount() );
        for (int i = 1; i <= set_meta.getColumnCount(); i++) {
            System.out.println( set_meta.getColumnName(i) );
        }
       while(set.next()){
                 for ( int  i= 1 ;i<=set_meta.getColumnCount();i++){   
                    System.out.print(set.getString(i)+"	" );   
                       }   
        System.out.println();   
    }

String sql = "select * from users";
        set = con.createStatement().executeQuery(sql);
        set_meta = set.getMetaData();
        for (int i = 1; i <= set_meta.getColumnCount(); i++) {
            System.out.println( set_meta.getColumnName(i) + " , " +set_meta.getColumnClassName(i)+" , " +
                    " "+set_meta.getColumnTypeName(i) );
        }
元数据- ParameterMetaData 
PreparedStatement . getParameterMetaData() 
获得代表PreparedStatement元数据的ParameterMetaData对象。 
Select * from user where name=? And password=?
ParameterMetaData对象
getParameterCount() 
获得指定参数的个数
getParameterType(int param) 
获得指定参数的sql类型
原文地址:https://www.cnblogs.com/linst/p/5874397.html