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

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);

        }

    }

}

转:  https://blog.csdn.net/YL1214012127/article/details/48374599

猜你喜欢

转载自www.cnblogs.com/fps2tao/p/12027406.html