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
相关推荐
超大型 B2B平台 后台数据库表结构.doc
mysql 数据库结构对比工具 java 1.配置好两个数据库的账号密码数据库名称等信息 DbComparator db1 = new DbComparator("ip", null, "user", "password", "dbname", "47" ); ...
设备管理系统数据库表结构
一个简单JAVA 小工程进行两个MYSQL数据库对象的比较,导入eclipse中,修改jdbc.properties文件中的JDBC信息,然后直接运行action包类中的main方法,生成EXCEL,excel中包含表,表中列,索引,函数过程差异比对结果。...
spring security的学习-3. 自定义数据库表结构
本资源提供了一套基于Java的数据库表结构文档工具的设计源码,包含206个文件,其中包括180个Java源代码文件,9个Properties配置文件,5个XML配置文件,以及4个FTL模板文件。此外,还包括3个VM虚拟机文件,2个JAR打包...
数据库表结构文档自动生成工具; 1.增加了对excel文件的支持,可以同时生成word 和excel文件 2.运行方式DocMain.java ExcelMain.java 3.生成excel文件的模板需要特别注意:xls模板中行数必须足够大,eg.ss:...
JAVA根据数据库表生成word表格文档
java 读取表结构 mysql 数据库名: 表名: 字段描述 字段名 数据类型 是否可为空 自增 主键
把安装后的jdk文件夹拷贝到本目录,然后取名为jdk, 比如jdk安装目录:C:\Program Files\Java\jdk1.6.0, 此时把文件夹jdk1.6.0复制到本目录,更名为jdk即可 编辑文件:resources/proxool...v1.0版本,只可以监控oracle表结构
不用手动建java类了,可以自动根据数据库表结构生成相应的JAVA类。
mysql数据库表结构及数据,departmentinfo 与 employeeinfo
使用java把数据库数据导出生成xml文件 使用java把数据库数据导出生成xml文件
使用eclipse获取mysql数据库中的表结构以及主外键
由于项目中模块功能废弃,因此删除了相关数据表结构,且不能恢复,没有备份,只有代码里的实体类,所以用此项目直接将实体类在数据库中生成对应的表结构,仅需配置你的数据库地址即可运行
数据库导出为html页面源码和POM文件依赖,java导出数据库表结构为html。
该代码可以通过运行main函数自动生成表结构包括表名字段和注释,现在生成的是txt版本后期会跟改成生成word或者Excel格式,请持续关注
java提取数据库表字段信息的工具类.docx
DBCompare 是使用Java Swing开发的一款数据库表结构对比工具,可以对比两个不同的数据库中表结构是否一致,例如开发中开发库与测试库,经常因为变动大,出现结构不一致,支持单表或多表对比。数据库表结构对比工具是...
内部java实现多个数据库,保持数据同步案例。