📄 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 + -