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

通过java查询数据库表结构相关推荐

  1. Java获取数据库表结构

    Java能够操作数据库,当然能够获取到数据库的表结构. 虽然各个DB厂商查询数据库表结构的语句不同,但是Java中通过封装,可以使用共同的API来获取. 各个具体的DB厂商有各自的实现,只需导入相应的 ...

  2. php sql查询数据库表结构,查看数据库表结构的PHP代码

    PHP怎么查询MYSQL数据库的表结构?我没有被谁打败,我是败给了自己,败给了时间,但是我会追回我败得一切 我需要按顺序得到MYSQL数据库的各字段名,最好把各字段名写按顺序写入一数据库? 给你点思路 ...

  3. Java实现数据库表结构导出到Excel

    2019独角兽企业重金招聘Python工程师标准>>> 本人自己写的一个工具,界面化,稍微配置即可数据库中的表的结构导出到Excel. 源码地址数据库表结构导出到Excel一键式工具 ...

  4. java修改数据库表结构_数据库设计(一):设计传统系统表结构(Java开发)

    以下文章来源于微信公众号 程序编程之旅 ,作者陈浩翔 此处仅供本人学习记录之用,侵删 本篇为第一篇.讲解传统系统的表结构设计(Java开发). 讲讲如何避免数据库设计的一些坑,方便后期的开发与维护. ...

  5. php mysql 查询数据库表结构_mysql查询数据库下的表结构?

    方法:1.使用DESCRIBE命令以表格的形式展示表结构,语法"DESCRIBE 表名;":2.使用"SHOW CREATE TABLE"命令以SQL语句的形式 ...

  6. sql查询数据库表结构

    前言 本文用来记录,如何根据表名,直接查询表结构 代码如下 SELECTCOLUMN_NAME 列名,COLUMN_TYPE 数据类型,DATA_TYPE 字段类型,CHARACTER_MAXIMUM ...

  7. mysql数据库 查找数据类型_Mysql查询数据库表结构以及字段类型并展示

    1.建表语句sys_user CREATE TABLE `sys_user` ( `id` varchar(32) NOT NULL COMMENT '编号', `dept_id` varchar(3 ...

  8. sysindexes mysql_sql server 查询所有表结构

    SELECT CASE WHEN col.colorder = 1 THEN obj.name ELSE '' END AS 表名, Coalesce(epTwo.value, '') AS docu ...

  9. navicat查询oracle表结构,利用Navicat Premium导出数据库表结构信息至Excel的方法

    因为要编写设计文档,需要用到数据库表结构,想要在word文档中以二维表格的形式展示,故借助Excel形成二维表格样式,还是很方便的样子! 1.新建查询,并将以下SQL语句修改至需要 SELECT CO ...

最新文章

  1. Java:多个文档合并输出到一个文档
  2. JS 实现MVC的写法
  3. 详解虚函数的实现过程之菱形继承修罗场(6)
  4. 时间序列数据库的秘密(3)——加载和分布式计算
  5. mysql操作常见问题_MySQL:常见使用问题
  6. python *args和**kwargs以及序列解包
  7. 程序员结婚晚回家怕出轨吗?老婆:不怕,老公是写代码的,忙得很!
  8. 坚果Pro 3发布,罗永浩大赞科大讯飞:不成器国产厂商尽早跟讯飞合作
  9. php 0改成百 千_【面试题】小数转换为人民币大写形式,PHP实现。
  10. c#解决TCP“粘包”问题
  11. 短视频制作团队的工作流程分为5个步骤
  12. s7 modbus测试软件,S7-1200 Modbus-Tcp通讯测试
  13. 看了《就算老公一毛钱股份都没拿到 在我心里他依然是最牛逼的创业者》小感
  14. 学习挖掘机和程序员哪个好
  15. 记录docker修改mysql映射端口
  16. JAVA并发编程-视频教程
  17. mysql 过程if语句,mysql存储过程之if语句用法实例详解
  18. 培训机构管理信息系统设计与开发(一)
  19. uniapp如何引入iconfont图标库
  20. 西北乱跑娃 --- bottle框架部署pytorch模型

热门文章

  1. 计算机绘图cg,CG专业英语整理
  2. 修改服务器404页面,服务器上的404页面做了有什么好处?
  3. abaqus linux 下载64位,SIMULIA ABAQUS 2016.0 Win64 Linux64 2DVD工程模拟的有限元
  4. word 常用快捷键
  5. Codeforces 1326F Wise Men (容斥原理、状压 DP、子集和变换、划分数)
  6. java线程协作_java 线程间的协作
  7. 2019-12-06 数字信号处理的学科结构
  8. oracle学习笔记(十八) PL/SQL 游标
  9. tar:文件打包归档
  10. 相比传统游戏,区块链游戏的价值在哪里?