褰撲綘浣跨敤鍜屽涔燡DK鐨勬椂鍊欙紝鍙互鏌ョ湅骞跺涔犲畠鎵€鎻愪緵缁欎綘鐨勪袱涓猂esultSetMetaData
鍜孌ataBaseMetaData绫荤殑婧愮爜骞跺緢濂界殑浜嗚В瀹冧滑鐨勫疄鐜板師鐞嗗拰鎬濊矾锛孞DBC涓彁渚涙湁涓ょ婧愭暟鎹?涓€绉嶆槸鏁版嵁搴撴簮鏁版嵁,鍙︿竴绉嶆槸ResultSet婧愭暟鎹€傝繖浜涙簮鏁版嵁灏辨槸鎻忚堪瀛樺偍鐢ㄦ埛鏁版嵁鐨勫鍣ㄧ殑鏁版嵁缁撴瀯銆傚叾涓璕esultSetMetaData绫诲畬鎴愪簡鏌ヨ缁撴灉淇℃伅鍜岀粨鏋滀腑鐨勫垪鐨勫悇绉嶄俊鎭€備笅闈㈡垜灏变互ResultSetMetaData涓轰緥锛岀畝鍗曠殑缃楀垪瀹冪殑浣跨敤鏂规硶浠ュ強瀹冨唴閮ㄧ殑鏂规硶鐨勪娇鐢ㄣ€?
棣栧厛锛屽缓绔嬩竴寮犺〃骞惰捣鍚嶄负users,琛ㄧ粨鏋勬弿杩板涓嬶細
瀛楁鎻忚堪 瀛楁鍚嶇О 鏄惁涓虹┖ 鏄惁涓婚敭
鐢ㄦ埛缂栧彿 id Not Null P
鐢ㄦ埛鍚嶇О userName Not Null
鐢ㄦ埛瀵嗙爜 password Not Null
浣犱篃鍙互閫氳繃DLL鎵ц涓嬮潰鑴氭湰锛?鏈汉浣跨敤Mysql)
CREATE TABLE `users` (
`id` varchar(32) NOT NULL,
`userName` varchar(20) NOT NULL,
`password` varchar(20) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;
鐒跺悗鍚戣琛ㄤ腑鎻掑叆鍑犳潯鏁版嵁銆?
鏈€鍚庯紝鏂板缓涓€涓祴璇曠被鍚嶄负TestDemo.java,婧愪唬鐮佸涓嬶細
package com.wanglihu.test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.PreparedStatement;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
public class TestDemo {
public static Connection getConnection(){
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/struts2Demo";
String user = "root";
String pass = "123456";
conn = DriverManager.getConnection(url,user,pass);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
public static void main(String[] args){
Connection conn=getConnection();
String sql="select * from users";
PreparedStatement stmt;
try {
stmt = conn.prepareStatement(sql);
ResultSet rs=stmt.executeQuery(sql);
ResultSetMetaData data=rs.getMetaData();
while(rs.next()){
for(int i = 1 ; i<= data.getColumnCount() ; i++){
//鑾峰緱鎵€鏈夊垪鐨勬暟鐩強瀹為檯鍒楁暟
int columnCount=data.getColumnCount();
//鑾峰緱鎸囧畾鍒楃殑鍒楀悕
String columnName = data.getColumnName(i);
//鑾峰緱鎸囧畾鍒楃殑鍒楀€?
String columnValue = rs.getString(i);
//鑾峰緱鎸囧畾鍒楃殑鏁版嵁绫诲瀷
int columnType=data.getColumnType(i);
//鑾峰緱鎸囧畾鍒楃殑鏁版嵁绫诲瀷鍚?
String columnTypeName=data.getColumnTypeName(i);
//鎵€鍦ㄧ殑Catalog鍚嶅瓧
String catalogName=data.getCatalogName(i);
//瀵瑰簲鏁版嵁绫诲瀷鐨勭被
String columnClassName=data.getColumnClassName(i);
//鍦ㄦ暟鎹簱涓被鍨嬬殑鏈€澶у瓧绗︿釜鏁?
int columnDisplaySize=data.getColumnDisplaySize(i);
//榛樿鐨勫垪鐨勬爣棰?
String columnLabel=data.getColumnLabel(i);
//鑾峰緱鍒楃殑妯″紡
String schemaName=data.getSchemaName(i);
//鏌愬垪绫诲瀷鐨勭簿纭害(绫诲瀷鐨勯暱搴?
int precision= data.getPrecision(i);
//灏忔暟鐐瑰悗鐨勪綅鏁?
int scale=data.getScale(i);
//鑾峰彇鏌愬垪瀵瑰簲鐨勮〃鍚?
String tableName=data.getTableName(i);
// 鏄惁鑷姩閫掑
boolean isAutoInctement=data.isAutoIncrement(i);
//鍦ㄦ暟鎹簱涓槸鍚︿负璐у竵鍨?
boolean isCurrency=data.isCurrency(i);
//鏄惁涓虹┖
int isNullable=data.isNullable(i);
//鏄惁涓哄彧璇?
boolean isReadOnly=data.isReadOnly(i);
//鑳藉惁鍑虹幇鍦╳here涓?
boolean isSearchable=data.isSearchable(i);
System.out.println(columnCount);
System.out.println("鑾峰緱鍒?+i+"鐨勫瓧娈靛悕绉?"+columnName);
System.out.println("鑾峰緱鍒?+i+"鐨勫瓧娈靛€?"+columnValue);
System.out.println("鑾峰緱鍒?+i+"鐨勭被鍨?杩斿洖SqlType涓殑缂栧彿:"+columnType);
System.out.println("鑾峰緱鍒?+i+"鐨勬暟鎹被鍨嬪悕:"+columnTypeName);
System.out.println("鑾峰緱鍒?+i+"鎵€鍦ㄧ殑Catalog鍚嶅瓧:"+catalogName);
System.out.println("鑾峰緱鍒?+i+"瀵瑰簲鏁版嵁绫诲瀷鐨勭被:"+columnClassName);
System.out.println("鑾峰緱鍒?+i+"鍦ㄦ暟鎹簱涓被鍨嬬殑鏈€澶у瓧绗︿釜鏁?"+columnDisplaySize);
System.out.println("鑾峰緱鍒?+i+"鐨勯粯璁ょ殑鍒楃殑鏍囬:"+columnLabel);
System.out.println("鑾峰緱鍒?+i+"鐨勬ā寮?"+schemaName);
System.out.println("鑾峰緱鍒?+i+"绫诲瀷鐨勭簿纭害(绫诲瀷鐨勯暱搴?:"+precision);
System.out.println("鑾峰緱鍒?+i+"灏忔暟鐐瑰悗鐨勪綅鏁?"+scale);
System.out.println("鑾峰緱鍒?+i+"瀵瑰簲鐨勮〃鍚?" + tableName);
System.out.println("鑾峰緱鍒?+i+"鏄惁鑷姩閫掑:"+isAutoInctement);
System.out.println("鑾峰緱鍒?+i+"鍦ㄦ暟鎹簱涓槸鍚︿负璐у竵鍨?"+isCurrency);
System.out.println("鑾峰緱鍒?+i+"鏄惁涓虹┖:"+isNullable);
System.out.println("鑾峰緱鍒?+i+"鏄惁涓哄彧璇?"+isReadOnly);
System.out.println("鑾峰緱鍒?+i+"鑳藉惁鍑虹幇鍦╳here涓?"+isSearchable);
}
}
} catch (SQLException e) {
System.out.println("鏁版嵁搴撹繛鎺ュけ璐?);
}
}
}
灏辫繖涔堢畝鍗曪紝甯屾湜閫氳繃璇ョ畝鍗曠殑浠g爜鑳界粰璇昏€呬竴浜涘府鍔╁拰鍚开鍚?/body>