Java基础系列15:JDBC中使用元数据分析数据库
admin
2023-06-11 01:02:28
0

(1)DatabaseMetaData:

package javase.jdbc;

import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.ResultSet;
import java.sql.SQLException;

public class DatabaseMetaDataDemo {

	public static void main(String[] args) {
		Connection connection = JDBCConnection.getConnection();

		try {
			DatabaseMetaData dMetaData = connection.getMetaData(); // 实例化元数据

			System.out.println("数据库名:" + dMetaData.getDatabaseProductName());
			System.out.println("数据库版本: "
					+ dMetaData.getDatabaseProductVersion());

			ResultSet resultSet = dMetaData.getPrimaryKeys(null, null, "users");
			while (resultSet.next()) {
				System.out.println("表类别:" + resultSet.getString(1));
				System.out.println("表模式:" + resultSet.getString(2));
				System.out.println("表名称:" + resultSet.getString(3));
				System.out.println("列名称:" + resultSet.getString(4));
				System.out.println("主键:" + resultSet.getString(5));
				System.out.println("主键名称:" + resultSet.getString(6));
			}

		} catch (SQLException e) {
			e.printStackTrace();
		}

	}

}

输出:

数据库名:MySQL
数据库版本: 5.5.19
表类别:jdbcdemo
表模式:null
表名称:users
列名称:id
主键:1
主键名称:PRIMARY

(2)ResultSetMetaData:

package javase.jdbc;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;

public class ResultSetMetaDataDemo {

	public static void main(String[] args) {
		String sql = "SELECT id,username,password,classId FROM users";
		Connection connection = JDBCConnection.getConnection();

		try {
			PreparedStatement pStatement = connection.prepareStatement(sql);
			ResultSetMetaData rSetMetaData = pStatement.getMetaData();

			System.out.println("返回数据有" + rSetMetaData.getColumnCount() + "个字段");
			if (rSetMetaData.isAutoIncrement(1))
				System.out.println(rSetMetaData.getColumnName(1) + "字段是自增的");
		} catch (SQLException e) {
			e.printStackTrace();
		}

	}

}

输出:

返回数据有4个字段
id字段是自增的


相关内容

热门资讯

别墅小区违建“越投诉越多”,究... 那一栋栋违建就像砌在业主心里的添堵墙,也会遮蔽执法公信力。据封面新闻报道,近日多名邢台市民反映,位于...
十载酿新章,琴台打酒铺解锁酒类... 5月23日,琴台酒肆十周年庆典暨琴台打酒千城万店战略发布会在郑州丰乐农庄隆重举行。行业领导、全国经销...
国民党议员提醒卢秀燕:世界局势... 中国国民党籍台中市议员李中25日在议会质询,提醒国民党籍市长卢秀燕未来若放眼2028“大位”,务必要...
Hello老朋友 你的活荔鲜到... 近日,以“细胞级养鲜 慢享荔枝鲜”为主题,卡萨帝冰箱二十年老友荔枝季,在开封市开启用户感恩回馈活动,...
宁波高新区数字经济产业发展动能... ▶ 本报记者 刘琴 数字经济是新一轮科技革命和产业变革的重要方向,也是最具创新性、成长性的新经济业态...
又一高端科学仪器项目落地合肥! 近日,安徽玻色子科技有限责任公司在合肥市长丰(双凤)经开区正式完成注册。该企业落地后将专注高端科学仪...
灾区女干部戴耳环被网暴 近日,湖南石门县遭遇强降雨过程,超10万人受灾。在这场与时间赛跑的抢险救灾中,无数基层干部奋战在一线...
神舟二十三号载人飞船成功发射:... IT之家 5 月 25 日消息,北京时间 2026 年 5 月 24 日 23 时 08 分,搭载神...
两个卧室灯不亮是怎么回事 卧室灯不亮可能有多种原因,以下是一些常见的原因和解决方法:1. 灯泡问题:首先检查灯泡是否损坏或烧毁...
求解新中式灯具都有哪些品牌? 摘要:在家装中,灯具还是非常重要的,您所说的新中式灯具还是很受广大消费在的欢迎的,在市面上新中式灯具...