微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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 {
        }
    }

  

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐