问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

JDBC如何获得数据库的约束信息

发布网友 发布时间:2022-04-07 16:03

我来回答

1个回答

热心网友 时间:2022-04-07 17:32

以MySQL5为例,看看实现过程:

首先为了描述表和列的关系,必须做个简单建模:

表对象、列对象,之间是一对多关系。

public class TableInfoBean {
private String tableName;
private String tableComment;
private List<ColumnBean> columnList=new ArrayList<ColumnBean>();

public class ColumnBean {
private String columnName;
private String columnComment;
private String SqlType;

这个关系很简单,就这么搞定了,用来保存一个表信息。

下面就是如何从数据库读取表信息了。

在这里依赖一个类DatabaseMetaData,这个对象可以从数据库连接来获取。有了它万事大吉了,想知道什么问它即可:

DatabaseMetaData databaseMetaData = conn.getMetaData();

//获取所有表
ResultSet tableSet = databaseMetaData.getTables(null, "%", "%", new String[]{"TABLE"});

//获取tableName表列信息
ResultSet columnSet = databaseMetaData.getColumns(null, "%", tableName, "%");

上面代码会得到两个结果集,对照DatabaseMetaData 的文档,我们可以通过结果集的列名来获取想要的信息,例如

String tableName = tableSet.getString("TABLE_NAME");
String tableComment = tableSet.getString("REMARKS");

String columnName = columnSet.getString("COLUMN_NAME");
String columnComment = columnSet.getString("REMARKS");
String sqlType = columnSet.getString("DATA_TYPE");

含义很清楚我就不做解释了。

逐个遍历表,然后得到一个TableInfoBean的集合,这个集合就是数据库中所有表的信息了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
前几天在楼下吃饭,店家推荐使用淘气购支付,听说可以用豆豆换东西。会... 绵阳淘气购科技有限公司怎么样? 四川省淘气购商贸有限公司怎么样? 盐酸洛美沙星分散片的作用 盐酸洛美沙星颗粒的剂量如何根据不同感染情况调整? 盐酸洛美沙星颗粒的化学名是什么? 盐酸洛美沙星胶囊功效 洛美沙星盐酸洛美沙星 洛美沙星的功效与作用 盐酸洛美沙星颗粒能治疗哪些类型的感染? 兔子肚子向上睡行不行? 如何更换 微信绑定了手机号想重新换个怎么办? 怎样让兔兔躺着睡呢,它总是蹲着睡,是不是不够信任我呢?还有,它睡觉的地方需要垫什么吗?谢谢!! 留下你觉得最有教育意义的大片电影? 微信一个手机号注册了两个怎么切换账号啊? 求几部比较经典的美国大片 怎样更换码 谁介绍些搞笑的性喜剧片,和经典动作片。 兔子什么时候睡觉啊? 怎么更换绑定手机号? 可以和金刚媲美的电影! 小白兔是怎样睡觉的 小白兔晚上是怎么睡觉的 跪求像复仇者联盟xxx版 斯密斯夫妇xxx版的大片 有什么好看的片子,不管是什么时候的. 兔子一般睡不睡觉? 小兔子怎样吃食、怎样睡觉、怎样玩耍 小兔子怎么睡觉? 求钢铁侠xxx 古墓丽影xxx 超人xxx。总之,只要有欧美大片的这种,都可以,不过一定要有钢铁侠和古墓丽影。 兔子晚上为什么不睡觉的 如何修改码 兔子中午睡觉正常吗? 兔子总是睡觉是怎么回事 怎么修改码 顶背离现象适用于个股么 手机怎么换 新注册的怎么改手机号 如何更改上的电话号 如何修改码 股市中顶背离是在怎样的情况之下。 澳大利亚有什么动物? 股票的顶背离问题 澳大利亚有什么动物 澳大利亚的动物有哪些 澳洲的动物有哪些? MACD指标出现顶背离适应A买入B卖出C观望D无参考价值 澳大利亚的动物 什么是生活在澳大利亚的原始哺乳动物 澳大利亚古老特有的动物都有哪些?