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)
对该列的写操作是否会成功。
转自:http://blog.csdn.net/zwhfyy/article/details/4233311
相关推荐
本压缩包文件“读取mysql数据库表结构.7z”显然包含与从MySQL数据库获取表结构相关的资源。这里我们将深入探讨如何读取MySQL数据库的表结构以及其背后涉及的关键知识点。 1. **MySQL数据库基础**: - MySQL是开源...
一个简单JAVA 小工程进行两个MYSQL数据库对象的比较,导入eclipse中,修改jdbc.properties文件中的JDBC信息,然后直接运行action包类中的main方法,生成EXCEL,excel中包含表,表中列,索引,函数过程差异比对结果。...
mysql 数据库结构对比工具 java 1.配置好两个数据库的账号密码数据库名称等信息 DbComparator db1 = new DbComparator("ip", null, "user", "password", "dbname", "47" ); ...
在这个场景中,"JAVA通过实体生成数据库表"指的是使用特定的工具或框架,根据预先定义好的Java实体类,自动生成对应的数据库表结构。 首先,我们需要理解什么是实体类。在Java中,实体类通常是对应数据库中的一张表...
在Java编程中,读取MySQL数据库的表结构是一项常见的任务,尤其在开发数据管理或数据分析应用时。这个过程涉及到连接数据库、执行SQL查询以及解析返回的结果集。下面将详细讲解如何实现这一功能。 首先,我们需要...
设备管理系统数据库表结构
在本例中,"数据库表结构.ftl"文件是一个模板,定义了Word文档的格式和布局。通过修改这个模板,用户可以定制导出的Word文档的样式,比如字段名称的样式、表头的颜色、边框等。 "sql2doc"可能是实现数据转换的脚本...
总结,通过SpringBoot和MybatisPlus的结合,我们可以方便地从Java实体类生成数据库表结构,无需手动编写SQL脚本。这种方式对于快速构建原型或者在数据丢失后恢复表结构非常有用。在实际应用中,记得对重要数据进行...
4. **遍历数据库表结构**:从`ConnectionOracle.java`获取的元数据,填充Excel工作表的行和列。 5. **设置单元格样式和数据**:包括字体、对齐方式、边框、背景色等。 6. **写入文件**:使用`FileOutputStream`将...
### Java判断数据库表是否存在 在Java开发中,经常会遇到需要检查特定表是否存在于数据库中的情况。这通常是数据库操作流程中的一个重要环节,确保后续的操作(如插入、更新或删除数据)能够顺利进行。本文将详细...
在IT行业中,数据库是存储和管理数据的核心工具,而数据库表结构则是数据组织的基础。有时候,我们可能需要对比两个数据库的表结构差异,比如在升级系统、迁移数据或进行数据库同步时。本篇将深入探讨如何自动对比两...
本工具,名为"基于Java的简单数据库设计生成工具(生成Excel文档)",旨在简化这一过程,将数据库表结构、主键信息和索引信息等重要数据以直观易读的Excel格式呈现。 首先,让我们来了解下核心技术: 1. **Java**:...
数据库表结构设计 - **图书表**: 存储图书基本信息,如图书ID、书名、作者等。 - **读者表**: 存储读者基本信息,如读者ID、姓名、联系方式等。 - **借阅记录表**: 记录读者借阅图书的情况,包括借阅日期、归还日期...
通过加载数据库驱动,建立数据库连接,执行SQL语句,然后处理返回的结果集,开发者可以实现各种数据库操作,包括获取表结构信息。 自动化的数据库结构生成可以极大地提高开发效率。通常,数据库设计是项目初期的...
本资源提供了一套基于Java的数据库表结构文档工具的设计源码,包含206个文件,其中包括180个Java源代码文件,9个Properties配置文件,5个XML配置文件,以及4个FTL模板文件。此外,还包括3个VM虚拟机文件,2个JAR打包...
此外,如果你的数据库表结构复杂或数据量大,可能需要更高效的方法来处理数据,比如分批读取、多线程等。 总之,使用Java和Apache POI生成Word表格文档是一种常见的需求,尤其在自动化报告生成、数据分析等领域。...
以上就是使用Java查询数据库中所有表的所有属性的所有值的基本步骤。请注意,实际应用中可能需要处理异常、优化性能,以及根据具体的数据库方言调整SQL语句。此外,对于大数据量的表,一次性获取所有值可能导致内存...
系统支持SQL解析、数据库和表的创建与删除、字段结构的增删改、数据元组的增删改查等基本功能。此外,还提供了用户授权、视图创建及查询、SQL语句批量执行等高级功能。 ## 项目的主要特性和功能 ### 基本功能 1. ...
在Java开发中,为了提高开发效率和代码的可维护性,常常需要将数据库表结构映射为Java对象,也就是我们常说的Bean类。这个过程通常手动编写,但随着自动化工具的发展,现在可以通过特定的工具或者库来自动生成这些...
通过本文的介绍,我们可以看到利用Java JDBC API可以很方便地获取MySQL数据库的表结构、主键、外键信息。这对于开发人员来说非常有用,特别是在进行数据库迁移、生成数据库文档或创建数据库管理工具时。希望本文能对...