java读取mysql中的表_JAVA获取数据库中表的结构//获取数据表结构
public static void getConnAndTableStruct(){
Connection connection = null;
PreparedStatement pstmt = null;
ResultSetMetaData rsmd = null;
try {
//mysql连接
Class.forName("sql.Driver");
connection = Connection(
"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(url,"root","root");
pstmt = (PreparedStatement) connection.prepareStatement("select * from user");
rsmd = (ResultSetMetaData) MetaData();
className="User";
tableName="user";
for (int i = 1; i < ColumnCount() + 1; i++) {
Table table=new Table();
table.ColumnName(i));
table.ColumnClassName(i).ColumnClassName
(i).lastIndexOf(".")+1));
tables.add(table);
System.out.ColumnName(i)+ "  " +ColumnTypeName(i)
+"  " +ColumnClassName(i)+ "  "+TableName(i));
}
}
catch (ClassNotFoundException cnfex) {
cnfex.printStackTrace();
}
catch (SQLException sqlex) {
sqlex.printStackTrace();
}
}
注意:
ResultSetMetaData 对象可以⽤于查 ResultSet 中的列的类型和特性。⽅法索引
getCatalogName(int)
获得列的表的⽬录名。
getColumnCount()
获得 ResultSet 中的列数。oracle数据库表结构怎么看
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)
对该列的写操作是否会成功。
分享到:
2010-03-08 17:55
浏览 4566
分类:数据库
评论
2 楼
zjlhonest
2012-03-07
不需要那个tables.add也能成功啊,悲催
1 楼
zjlhonest
2012-03-07
那个tables.add(table),tables是那个类的对象啊/