import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
public class JDBCTable {
public static void main(String[] args) throws SQLException {
String ul, namestr, typestr, cstr, strn = null, indexstr, prostr = null;
short data;
int index, pron;
String[] type = { "table" };
ul = "jdbc:odbc:useDSN";
try {
Class.forName("com.mysql.jdbc.Driver");// 加载驱动程序
Connection con = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/myuser", "root", "root");// 建立链接
DatabaseMetaData dbmd = con.getMetaData();// 使用DatabaseMetaData对象获取数据源相关信息
ResultSet rs = dbmd.getTables(null, null, null, type);// 获取表中信息的结果集
while (rs.next()) {// 输出表的信息
namestr = rs.getString("TABLE_NAME");// 创建表名
typestr = rs.getString("TABLE_TYPE");// 获取表的类型
System.out.println("输出数据源中所有表的信息");// 输出结果集
strn = "数据库表名:" + namestr + "" + "表的类型:" + typestr;
System.out.println(strn);
}
rs = dbmd.getColumns(null, null, "gods", "%");// 获取表中列的信息
while (rs.next()) {
namestr = rs.getString("TABLE_NAME");// 获取表名
cstr = rs.getString("COLUMN_NAME");// 获取列名
typestr = rs.getString("TYPE_NAME");// 获取列类型
data = rs.getShort("DATA_TYPE");// 获取列的SQL类型
System.out.println("输出数据库中列的信息");// 输出列信息
strn = "表名:" + namestr + "" + "列名:" + cstr + "" + "列类型:" + ""
+ "列SQL类型:" + data;
System.out.println(strn);
}
rs = dbmd.getIndexInfo(null, null, "stugodsdent", false, false);// 获取索引信息
while (rs.next()) {
namestr = rs.getString("INDEX_NAME");// 获取索引名
index = rs.getInt("TYPE");// 获取索引类型
switch (index) {
case 0: {
indexstr = "没有索引";
break;
}
case 1: {
indexstr = "聚集索引";
break;
}
case 2: {
indexstr = "哈希表索引";
break;
}
case 3: {
indexstr = "其它索引";
break;
}
}
strn = "索引名:" + namestr + "" + "索引类型" + index;
System.out.println(strn);
}
rs = dbmd.getProcedures(null, null, "%");// 获取存储过程信息
System.out.println("存储过程信息");
while (rs.next()) {
namestr = rs.getString("PROCEDURE_NAME");// 获取存储过程名称
pron = rs.getInt("PROCEDURE_TYPE");
switch (pron) {
case 0: {
prostr = "返回结果未知";
break;
}
case 1: {
prostr = "没有返回结果";
break;
}
case 2: {
prostr = "有返回结果";
break;
}
}
strn = "存储过程名称:" + namestr + "" + "存储过程类型:" + prostr;
System.out.println(strn);
}
rs = dbmd.getProcedureColumns(null, null, "%", "%");// 获取存储过程列信息
System.out.println("存储过程列信息");// 输出存储过程列信息
while (rs.next()) {
namestr = rs.getString("PROCEDURE_NAME");// 获取存储过程名称
prostr = rs.getString("COLUMN_NAME");// 获取存储过程类型
strn = "存储过程:" + namestr + "" + "存储过程列名:" + prostr;
System.out.println(strn);
}
con.close();// 关闭链接
} catch (ClassNotFoundException e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
java 获取数据库的基本信息
共2个文件
java:1个
jpg:1个
5星 · 超过95%的资源 需积分: 45 57 下载量 12 浏览量
2010-06-21
16:55:11
上传
评论 1
收藏 59KB ZIP 举报
温馨提示
java 获取数据库的基本信息 java 获取数据库的基本信息 java 获取数据库的基本信息
资源推荐
资源详情
资源评论
收起资源包目录
java 获取数据库的基本信息.zip (2个子文件)
Java.jpg 77KB
JDBCTable.java 3KB
共 2 条
- 1
资源评论
- 天驰之驹2014-07-08能够连上,感谢分享
- hcq13142014-03-28已成功连接,谢谢
- cg_program2013-04-15能用上,非常感谢。
langlang55
- 粉丝: 0
- 资源: 32
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功