天天看点

Java 获取数据库信息(简单)

褰撲綘浣跨敤鍜屽涔燡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>