数据库之元数据——DatabaseMetaData

元数据

在jdbc中获取数据库的定义,例如:数据库,表,列的定义信息。就用到元数据
在jdbc中可以使用:数据库元数据,参数元数据,结果集元数据。
方法:

getDatabaseProductName:获取数据库的产品名称
getDatabaseProductName:获取数据库的版本号
getUserName:获取数据库的用户名
getURL:获取数据库连接的URL
getDriverName:获取数据库的驱动名称
driverVersion:获取数据库的驱动版本号
isReadOnly:查看数据库是否只允许读操作
supportsTransactions:查看数据库是否支持事务

驱动包下载:百度云链接:http://pan.baidu.com/s/1sl56QWd 密码:b2gh
  • 1.获取数据库元数据
    @Test
    public void testDatabase() throws Exception {
        // 获取连接
        Connection conn = JdbcUtil.getConnection();
        // 获取数据库元数据
        DatabaseMetaData metaData = conn.getMetaData();
        System.out.println(metaData.getUserName());
        System.out.println(metaData.getURL());
        System.out.println(metaData.getDatabaseProductName());
        System.out.println(metaData.getDatabaseProductVersion());
    }
  • 2.获取参数元数据
    @Test
    public void test2() throws Exception {
        // 获取连接
        Connection conn = JdbcUtil.getConnection();
        String sql = "select * from eu_tronclass where id=? and eu_rj=? and tron_month=?";
        PreparedStatement pstmt = conn.prepareStatement(sql);   
        // 参数元数据
        ParameterMetaData p_metaDate = pstmt.getParameterMetaData();
        int count = p_metaDate.getParameterCount();
        System.out.println(count);
    }
image.png
  • 3. 获取结果集元数据
    @Test
    public void testRs() throws Exception {
        String sql = "select * from eu_tronclass ";
        
        // 获取连接
        Connection conn = JdbcUtil.getConnection();
        PreparedStatement pstmt = conn.prepareStatement(sql);
        ResultSet rs = pstmt.executeQuery();
        // 得到结果集元数据
        //目标:通过结果集元数据,得到列的名称
        ResultSetMetaData rs_metaData = rs.getMetaData();
        while (rs.next()) {
            int count = rs_metaData.getColumnCount();
            for (int i=0; i<count; i++) {
                // 得到列的名称
                String columnName = rs_metaData.getColumnName(i + 1);
                // 获取每一行的每一列的值
                Object columnValue = rs.getObject(columnName); 
                System.out.print(columnName + "=" + columnValue + ",\n");
            }
            
        }
        
    }
    
获取结果集元数据
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,964评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,099评论 19 139
  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 5,734评论 0 4
  • MySQL数据库对象与应用 2.1-MySQL数据类型 库建立好之后基本不动,和我们接触最频繁的是表. 建表就是声...
    极客圈阅读 2,181评论 0 8
  • 看着你一袭白纱步入礼堂,眼角竟不自觉的跑出了眼泪,这个我心疼的姑娘终于嫁人了。还记得你答应新郎交往的那天,你跑回宿...
    疯小风阅读 1,020评论 0 0