首页 > 代码库 > 元数据
元数据
在jdbc中获取数据库的定义,例如:数据库、表、列的定义信息。就用到元数据。在jdbc中可以使用: 数据库元数据、参数元数据、结果集元数据(元数据定义相关api, ..MetaData)
public class App { //1. 数据库元数据 @Test public void testDB() throws Exception { // 获取连接 Connection conn = JdbcUtil.getConnection(); // 获取数据库元数据 DatabaseMetaData metaData = http://www.mamicode.com/conn.getMetaData();// alt + shift + L 快速获取方法返回值 System.out.println(metaData.getUserName()); System.out.println(metaData.getURL()); System.out.println(metaData.getDatabaseProductName()); } //2. 参数元数据 @Test public void testParams() throws Exception { // 获取连接 Connection conn = JdbcUtil.getConnection(); // SQL String sql = "select * from dept where deptid=? and deptName=?"; // Object[] values = {"tom","888"}; PreparedStatement pstmt = conn.prepareStatement(sql); // 参数元数据 ParameterMetaData p_metaDate = pstmt.getParameterMetaData(); // 获取参数的个数 int count = p_metaDate.getParameterCount(); // 测试 System.out.println(count); } // 3. 结果集元数据 @Test public void testRs() throws Exception { String sql = "select * from dept "; // 获取连接 Connection conn = JdbcUtil.getConnection(); PreparedStatement pstmt = conn.prepareStatement(sql); ResultSet rs = pstmt.executeQuery(); // 得到结果集元数据(目标:通过结果集元数据,得到列的名称) ResultSetMetaData rs_metaData =http://www.mamicode.com/ rs.getMetaData(); // 迭代每一行结果 while (rs.next()) { // 1. 获取列的个数 int count = rs_metaData.getColumnCount(); // 2. 遍历,获取每一列的列的名称 for (int i=0; i<count; i++) { // 得到列的名称 String columnName = rs_metaData.getColumnName(i + 1); // 获取每一行的每一列的值 Object columnValue =http://www.mamicode.com/ rs.getObject(columnName); // 测试 System.out.print(columnName + "=" + columnValue + ","); } System.out.println(); } } }
元数据
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。