DataBaseMeataData--元数据
来源:互联网 发布:什么值得买app源码 编辑:程序博客网 时间:2024/06/18 16:43
一、定义
元数据:数据库,表,列的定义信息。
Connection.getMetaData()
1.DataBaseMetaData对象:数据库元数据
相关方法:
a. getURL()
b. getUserName()
c. getDriverName()
<span style="white-space:pre"></span>Connection conn = null;PreparedStatement ps = null;ResultSet rs = null;ComboPooledDataSource source = new ComboPooledDataSource();try{conn = source.getConnection();//--获取当前数据库的元数据DatabaseMetaData metaData = conn.getMetaData();//----获取数据库连接时使用的URLString url = metaData.getURL();System.out.println(url);//----获取数据库的用户名String username = metaData.getUserName();System.out.println(username);//----获取驱动的名称String driverName = metaData.getDriverName();System.out.println(driverName);//----获取数据库中指定表的主键信息rs = metaData.getPrimaryKeys(null, null, "account");while(rs.next()){short cseq = rs.getShort("KEY_SEQ");String cname = rs.getString("COLUMN_NAME");System.out.println(cseq+":"+cname);}//----获取表rs = metaData.getTables(null, null, "%", new String[]{"TABLE"});while(rs.next()){String tabName = rs.getString("TABLE_NAME");System.out.println(tabName);}}catch (Exception e) {e.printStackTrace();}finally{DbUtils.closeQuietly(conn, ps, rs);}
2.ParameterMetaData 参数元数据
<span style="white-space:pre"></span>conn = source.getConnection();ps = conn.prepareStatement("select * from account where name=? and money=?");//--获取参数元数据ParameterMetaData metaData = ps.getParameterMetaData();//----参数的个数int count = metaData.getParameterCount();System.out.println(count);
3.ResultSetMetaData 结果集元数据
<span style="white-space:pre"></span>conn = source.getConnection();ps = conn.prepareStatement("select * from account");rs = ps.executeQuery();//--获取结果集元数据ResultSetMetaData metaData = rs.getMetaData();//----获取结果集中的列数int cc = metaData.getColumnCount();System.out.println(cc);//----获取结果集中指定列的名称String cn = metaData.getColumnName(2);System.out.println(cn);//----获取结果集中指定列的类型的名称String ct = metaData.getColumnTypeName(3);System.out.println(ct);4.结果集Demo
<span style="white-space:pre"></span>Connection conn = null;PreparedStatement ps = null;ResultSet rs = null;ComboPooledDataSource source = new ComboPooledDataSource();try{conn = source.getConnection();ps = conn.prepareStatement("select * from account");rs = ps.executeQuery();//--获取结果集元数据ResultSetMetaData metaData = rs.getMetaData();//----获取结果集中的列数int cc = metaData.getColumnCount();System.out.println("-------------------------------------------------------");for(int i = 1;i<=cc;i++){String column_name = metaData.getColumnName(i);String column_type = metaData.getColumnTypeName(i);System.out.print(column_name+":"+column_type+"\t\t");}System.out.println();System.out.println("-------------------------------------------------------");while(rs.next()){for(int i =1 ;i<=cc;i++){Object obj = rs.getObject(i);System.out.print(obj+"\t\t\t");}System.out.println();}System.out.println("-------------------------------------------------------");}catch (Exception e) {e.printStackTrace();}finally{DbUtils.closeQuietly(conn, ps, rs);}
0 0
- DataBaseMeataData--元数据
- 元数据
- 元数据
- 元数据
- 数据元
- 元数据
- 元数据
- 元数据
- 元数据
- 元数据
- 元数据
- 元数据
- 元数据
- 元数据
- 元数据
- 元数据
- 元数据
- 元数据
- Hive学习笔记
- MVC源码编译
- fcntl函数的使用
- 【USACO3.3.5】一个游戏
- Solr笔记
- DataBaseMeataData--元数据
- BZOJ1176【CDQ分治】【树状数组】
- Java 中hashCode & Equals方法
- SSH
- 多线程通信的小例子
- leetcode003:Longest Substring Without Repeating Characters
- 【USACO3.4.1】闭合的栅栏
- 简单明了:android和IOS学习线路图
- session和cookie