元数据MetaData
来源:互联网 发布:人工智能论坛 哪个好 编辑:程序博客网 时间:2024/06/07 21:38
- 定义
在jdbc中获取数据库(数据库,数据表,字段)的定义信息 - 应用
☞数据库元数据
// 获取连接 Connection conn = JdbcUtil.getConnection(); // 获取数据库元数据 DatabaseMetaData metaData = conn.getMetaData(); System.out.println(metaData.getUserName()); System.out.println(metaData.getURL());
☞参数元数据
Connection conn = JdbcUtil.getConnection();// SQLString 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();
这里主要是利用了pstmt的预编译SQL的特性,然后利用pstmt来生成参数元数据,从而获取占位符的个数,也就是参数个数,但是这个其实并不 常用,因为如果要获取参数个数,完全可以通过参数数组的length来获取
☞结果集元数据
String sql = "select * from dept ";// 获取连接Connection conn = JdbcUtil.getConnection();PreparedStatement pstmt = conn.prepareStatement(sql);ResultSet rs = pstmt.executeQuery();// 得到结果集元数据(目标:通过结果集元数据,得到列的名称)ResultSetMetaData rs_metaData = 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 = rs.getObject(columnName); // 测试 System.out.print(columnName + "=" + columnValue + ","); } System.out.println();}
- API
public class App { //1. 数据库元数据 @Test public void testDB() 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()); } //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 = 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 = rs.getObject(columnName); // 测试 System.out.print(columnName + "=" + columnValue + ","); } System.out.println(); } }}
0 0
- 元数据(metadata)简介
- 【C#】metadata 元数据
- MetaData【元数据】
- 元数据 metadata
- metadata元数据
- metadata元数据
- 什么是元数据 (MetaData)
- 元数据(MetaData)
- metadata 元数据
- 元数据(MetaData)
- MetaData--元数据
- 元数据(MetaData)
- 元数据(Metadata)
- 元数据(MetaData)
- 元数据(MetaData)
- MetaData元数据
- 元数据(metadata)
- java 元数据metadata
- POJ1789 Truck History
- [杂文]:mission 2017
- 1037. Magic Coupon (25)
- 数据项目知识整理
- Java泛型和通配符
- 元数据MetaData
- RESTful风格
- java类加载和初始化顺序
- 远程调用其他系统bean报EJBCLIENT000037: Could not load ejb proxy class com.tgb.itoo.basic.service.xxBean的错误
- iscroll部分机型高度计算错误原因--transform属性
- 批量 mybatis
- PHP重命名文件夹下的文件后缀名
- pyhotn的p2p-sip网络电话小试牛刀
- JAVA设计模式之创建者模式