//获取数据表结构
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:@173.10.2.11:1521:test";
// connection=DriverManager.getConnection(url,"root","root");
pstmt = (PreparedStatement) connection.prepareStatement("select * from user");
pstmt.execute(); //这点特别要注意:如果是Oracle而对于mysql可以不用加.
rsmd = (ResultSetMetaData) pstmt.getMetaData();
className="User";
tableName="user";
for (int i = 1; i < rsmd.getColumnCount() + 1; i++) {
Table table=new Table();
table.setColumnName(rsmd.getColumnName(i));
table.setColumnType(rsmd.getColumnClassName(i).substring(rsmd.getColumnClassName
(i).lastIndexOf(".")+1));
tables.add(table);
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)
对该列的写操作是否会成功。
分享到:
相关推荐
导出 MySQL数据库表结构word设计文档,一键连接数据库,直接导出库表结构、字段解析、自动排序 导出 MySQL数据库表结构word设计文档,一键连接数据库,直接导出库表结构、字段解析、自动排序 导出 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查询以及解析返回的结果集。下面将详细讲解如何实现这一功能。 首先,我们需要...
本资源提供了一套基于Java的数据库表结构文档工具的设计源码,包含206个文件,其中包括180个Java源代码文件,9个Properties配置文件,5个XML配置文件,以及4个FTL模板文件。此外,还包括3个VM虚拟机文件,2个JAR打包...
通过加载数据库驱动,建立数据库连接,执行SQL语句,然后处理返回的结果集,开发者可以实现各种数据库操作,包括获取表结构信息。 自动化的数据库结构生成可以极大地提高开发效率。通常,数据库设计是项目初期的...
在IT行业中,数据库是存储和管理数据的核心工具,而数据库表结构则是数据组织的基础。有时候,我们可能需要对比两个数据库的表结构差异,比如在升级系统、迁移数据或进行数据库同步时。本篇将深入探讨如何自动对比两...
### Java判断数据库表是否存在 在Java开发中,经常会遇到需要检查特定表是否存在于数据库中的情况。这通常是数据库操作流程中的一个重要环节,确保后续的操作(如插入、更新或删除数据)能够顺利进行。本文将详细...
4. **遍历数据库表结构**:从`ConnectionOracle.java`获取的元数据,填充Excel工作表的行和列。 5. **设置单元格样式和数据**:包括字体、对齐方式、边框、背景色等。 6. **写入文件**:使用`FileOutputStream`将...
本工具,名为"基于Java的简单数据库设计生成工具(生成Excel文档)",旨在简化这一过程,将数据库表结构、主键信息和索引信息等重要数据以直观易读的Excel格式呈现。 首先,让我们来了解下核心技术: 1. **Java**:...
在IT行业中,数据库管理是至关重要的任务之一,而数据库表结构的管理则直接影响到数据的组织、查询和维护。"导出数据库表结构成Word"这个主题涉及到的是将数据库中的表结构信息转换成Microsoft Word文档的过程,这在...
总结,通过SpringBoot和MybatisPlus的结合,我们可以方便地从Java实体类生成数据库表结构,无需手动编写SQL脚本。这种方式对于快速构建原型或者在数据丢失后恢复表结构非常有用。在实际应用中,记得对重要数据进行...
在Java开发中,为了提高开发效率和代码的可维护性,常常需要将数据库表结构映射为Java对象,也就是我们常说的Bean类。这个过程通常手动编写,但随着自动化工具的发展,现在可以通过特定的工具或者库来自动生成这些...
通过以上步骤,我们可以在Android应用中安全地更新数据库表结构,同时保持对旧版本程序的兼容性。在实际开发中,需要注意测试各种场景,确保数据的完整性和一致性。在DBTest项目中,你可以找到相关的示例代码和测试...
通过以上步骤,我们可以实现Java实体类到MySQL数据库表的自动化创建。这种做法在快速开发和迭代中非常有用,避免了手动编写SQL建表语句的工作,同时使得代码和数据模型保持同步。记住,尽管ORM带来了便利,但在处理...
"根据数据库表自动生成Java代码"是一个非常实用的功能,它允许开发者基于现有的数据库表结构快速生成对应的Java类,如DAO(Data Access Object)、XML配置文件以及实体类(Entity)。这样,开发者可以避免手动编写...
2. **表结构获取**:工具能够列出数据库中的所有表,包括表名、字段名、字段类型、主键信息、外键约束等。这一步骤涉及解析数据库的系统表或信息模式视图。 3. **索引和视图的处理**:除了表,数据库还可能包含索引...
### Java数据库查询结果的输出详解 #### 概述 本文主要介绍了如何利用Java技术结合Swing组件中的`JTable`来展示数据库查询的结果,并详细解释了`Vector`、`JTable`以及`AbstractTableModel`这三个类的应用场景及其...
mysql数据库表结构及数据,departmentinfo 与 employeeinfo