博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
通过java查询数据库表结构
阅读量:5278 次
发布时间:2019-06-14

本文共 2842 字,大约阅读时间需要 9 分钟。

public static void getConnAndTableStruct() {  Connection connection = null;  PreparedStatement pstmt = null;  ResultSetMetaData rsmd = null;  try {   // mysql连接   //Class.forName("org.gjt.mm.mysql.Driver");   //connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");   // oracle连接    Class.forName("oracle.jdbc.driver.OracleDriver");    String url="jdbc:oracle:thin:@192.168.12.12:1521:db";    connection=DriverManager.getConnection(url,"manager","manager");   pstmt = (PreparedStatement) connection.prepareStatement("select * from A_STAT");   pstmt.execute(); // 这点特别要注意:如果是Oracle而对于mysql可以不用加.   rsmd = (ResultSetMetaData) pstmt.getMetaData();   //className = "User";   //tableName = "user";   for (int i = 1; i < rsmd.getColumnCount() + 1; i++) {    //rsmd.getColumnName(i);    //rsmd.getColumnClassName(i).substring(rsmd.getColumnClassName(i).lastIndexOf(".") + 1);    System.out.println(rsmd.getColumnClassName(i));    System.out.println(rsmd.getColumnName(i));    System.out.println(rsmd.getColumnTypeName(i));    System.out.println(rsmd.getPrecision(i));    System.out.println(rsmd.getScale(i));    System.out.println(rsmd.isNullable(i));//0 不能为空   1可以为空    System.out.println("=============================");    System.out.println("=============================");    System.out.println("=============================");    System.out.println("=============================");    System.out.println("=============================");    System.out.println("=============================");    //    System.out.println(rsmd.getColumnDisplaySize(i));//    System.out.println(rsmd.getColumnLabel(i));//    System.out.println(rsmd.getPrecision(i));//    System.out.println(rsmd.getColumnDisplaySize(i));//    System.out.println(rsmd.getColumnDisplaySize(i));//    System.out.println(rsmd.getColumnName(i) + "  " + rsmd.getColumnTypeName(i) + "  " + rsmd.getColumnClassName(i) + "  " + rsmd.getTableName(i));   }  } catch (ClassNotFoundException cnfex) {   cnfex.printStackTrace();  } catch (SQLException sqlex) {   sqlex.printStackTrace();  } }

ResultSetMetaData 对象可以用于查找 ResultSet 中的列的类型和特性。
方法索引 
getCatalogName(int) 
获得列的表的目录名。 
getColumnCount() 
获得 ResultSet 中的列数。 
getColumnDisplaySize(int) 
获得列的正常的最大字符宽度。 
getColumnLabel(int) 
获得打印输出和显示的建议列标题。 
getColumnName(int) 
获得列名。 
getColumnType(int) 
获得一个列的 SQL 类型。 
getColumnTypeName(int) 
获得一个列的数据源特定的类型名。 
getPrecision(int) 
获得一个列的十进制数字的位数。 
getScale(int) 
获得一个列的十进制小数点右面数字的位数。 
getSchemaName(int) 
获得一个列的表的模式。 
getTableName(int) 
获得列的表名。 
isAutoIncrement(int) 
列是否自动计数,因此它是只读的。 
isCaseSensitive(int) 
列是否区分大小写。 
isCurrency(int) 
列是否是通用的。 
isDefinitelyWritable(int) 
对列的写操作是否一定成功。 
isNullable(int) 
在该列中是否可以放一个 NULL 值。 
isReadOnly(int) 
列是否是不可写的。 
isSearchable(int) 
该列是否是可以查询的。 
isSigned(int) 
该列是否是有符号数。 
isWritable(int) 
对该列的写操作是否会成功。

转载于:https://www.cnblogs.com/xavijing/p/3534683.html

你可能感兴趣的文章
python接口自动化28-requests-html爬虫框架
查看>>
生成随机数的模板
查看>>
Mysql 数据库操作
查看>>
转:linux终端常用快捷键
查看>>
UVa 11059 最大乘积
查看>>
数组分割问题求两个子数组的和差值的小
查看>>
composer 报 zlib_decode(): data error
查看>>
hdu 3938 并查集
查看>>
《深入分析Java Web技术内幕》读书笔记之JVM内存管理
查看>>
python之GIL release (I/O open(file) socket time.sleep)
查看>>
软件开发与模型
查看>>
161017、SQL必备知识点
查看>>
kill新号专题
查看>>
MVC学习系列——Model验证扩展
查看>>
mysqladmin 修改和 初始化密码
查看>>
字符串
查看>>
vue2.x directive - 限制input只能输入正整数
查看>>
实现MyLinkedList类深入理解LinkedList
查看>>
自定义返回模型
查看>>
C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 客户端多网络支持
查看>>