数据库之元数据——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());
    }
数据库之元数据——DatabaseMetaData_第1张图片
  • 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);
    }
数据库之元数据——DatabaseMetaData_第2张图片
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
数据库之元数据——DatabaseMetaData_第3张图片
获取结果集元数据

你可能感兴趣的:(数据库之元数据——DatabaseMetaData)