?? databasemetadata_test.jsp
字號:
<%@ page language="java" contentType="text/html; charset=GBK"%>
<%@ page import="java.sql.*,javax.naming.*,javax.sql.*" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>數據庫元數據</title>
</head>
<body>
<%
Connection con = null;
try {
// 通過連接池來獲得一個連接
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/sqlserver");
con = ds.getConnection();
// 測試數據庫信息
DatabaseMetaData dm = con.getMetaData();
out.println("<h2>1. 數據庫的基本信息</h1>");
out.println("Database is " + dm.getDatabaseProductName()+"<br>");
out.println("Database version is "
+ dm.getDatabaseProductVersion()+"<br>");
out.println("JDBC Driver is " + dm.getDriverName()+"<br>");
out.println("JDBC driver version is "
+ dm.getDriverVersion()+"<br>");
// 獲取數據庫中目錄(數據庫)的信息
out.println("<h2>2. 數據庫中目錄(數據庫)的信息</h2>");
ResultSet catalogs = dm.getCatalogs();
while (catalogs.next()) {
out.println(catalogs.getString(1));
}
// 獲取數據庫中模式的信息
out.println("<h2>3. 數據庫中模式的信息</h2>");
ResultSet schemas = dm.getSchemas();
while (schemas.next()) {
out.println(schemas.getString(1)+"<br>");
}
// 獲取數據庫中各個表的情況
out.println("<h2>4. 數據庫中各個表的信息</h2>");
ResultSet tables = dm.getTables("pubs", null, null, null);
while (tables.next()) {
for (int i = 0; i < 5; i++) {
out.print(tables.getString(i + 1));
out.print(" | ");
}
out.println();
}
// 獲取數據庫表中各個列的信息
out.println("<h2>5. 數據庫表中各個列的信息</h2>");
ResultSet columns = dm.getColumns(null, null,"student", null);
while (columns.next()) {
for (int i = 0; i < 18; i++) {
out.print(columns.getString(i + 1));
out.print(" | ");
}
out.println();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
// 用完后要關閉連接,釋放資源
if (con != null)
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
%>
</body>
</html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -