Java_jdbc 基础笔记之十四 数据库连接(元数据)

来源:互联网 发布:debian ubuntu 对比 编辑:程序博客网 时间:2024/05/29 17:06
public class MetaDatatest {    /**     * DatabaseMetaData 是描述 数据库的元数据对象 可以由Connection得到     */    @Test    public void testDatabaseMetaData() {        Connection conn = null;        ResultSet rs = null;        try {            conn = JDBCTools.getConnection();            DatabaseMetaData data = conn.getMetaData();            // 可以得到数据库本身的一些基本信息            // 1、得到数据库的版本号            int version = data.getDatabaseMajorVersion();            System.out.println(version);            // 2. 德奥数据库的用户名            String user = data.getUserName();            System.out.println(user);            // 3、得到MySQL中有哪些数据库            rs = data.getCatalogs();            while (rs.next()) {                System.out.println(rs.getString(1));            }        } catch (Exception e) {            e.printStackTrace();        } finally {            JDBCTools.close(rs, null, conn);        }    }    // ========================================================    /**     * ResultSetMetaData:描述结果集的元数据 可以得到结果集的基本信息: 结果集中有哪些列,列名,列的别名等。。。     *      */    @Test    public void testResultSetMetaData() {        Connection conn = null;        PreparedStatement ps = null;        ResultSet rs = null;        try {            conn = JDBCTools.getConnection();            String sql = "SELECT id,name customersName,email custEMAIL,birth FROM customers";            ps = conn.prepareStatement(sql);            rs = ps.executeQuery();            // 1 得到ResultSetMetaData对象            ResultSetMetaData rmsd = rs.getMetaData();            // 2得到列的个数            int columnCount = rmsd.getColumnCount();            System.out.println(columnCount);            for (int i = 0; i < columnCount; i++) {                // 3得到列名                String columnName = rmsd.getColumnName(i + 1);                // 4.得到列的别名                String columnLabel = rmsd.getColumnLabel(i + 1);                System.out.println(columnName + "   " + columnLabel);            }        } catch (Exception e) {            e.printStackTrace();        } finally {            JDBCTools.close(rs, ps, conn);        }    }}
0 0