JDBC的元数据

JDBC的元数据

DatabaseMetaData是描述数据库的元数据对象。

可以由Connection得到

   @Test
    public void test1(){
        Connection conn = null;
        ResultSet resultSet = null;
        try {
            conn = Methods.getConnection();
            DatabaseMetaData databaseMetaData = conn.getMetaData();

            //得到数据库的基本信息
            //1.得到数据库的版本号
            int version = databaseMetaData.getDatabaseMajorVersion();
            System.out.println(version);

            //2.得到数据库的用户名
            String user = databaseMetaData.getUserName();
            System.out.println(user);

            //3.mysql有哪些数据库
            resultSet = databaseMetaData.getCatalogs();
            while(resultSet.next()){
                System.out.println(resultSet.getString(1));
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            Methods.release(null,conn,resultSet);
        }

  

ResultSetMetaData是描述结果集的元数据。

可以得到结果集中的基本信息:结果集中有哪些列,列名,列的别名等。

    @Test
    public void test2(){
        Connection conn = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;
        String sql = "select * from student";

        try {
            preparedStatement =  conn.prepareStatement(sql);
            resultSet = preparedStatement.executeQuery();

            //1.得到ResultSetMetaData对象
            ResultSetMetaData rsmd = resultSet.getMetaData();

            //2.得到列的个数
            int columnCount = rsmd.getColumnCount();

            for (int i = 0; i < columnCount; i++) {
                //3.得到列名
                String columnName = rsmd.getColumnName(i+1);
                System.out.println(columnName);

                String columnLabel = rsmd.getColumnLabel(i+1);
                System.out.println(columnLabel);
            }

        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
        }
    }

  

原文地址:https://www.cnblogs.com/yangHS/p/10832151.html