Mysql遍历数据库所有表、表名、表列名 - ErrStr

ErrStr 2021-08-21 原文

java获取数据库的列名、类型等信息 – 岁月淡忘了谁 – 博客园  http://www.cnblogs.com/henuyuxiang/p/6155935.html

  1. private List<String> getDBTableName() throws Exception {
  2. List<String> tables = new ArrayList<>();
  3. String sql = "show tables";
  4. PreparedStatement pstmt = new DbUtil().getConn().prepareStatement(sql);
  5. ResultSet rs = pstmt.executeQuery();
  6. while(rs.next()) {
  7. tables.add(rs.getString(1));
  8. }
  9. return tables;
  10. }
  11. private Map<String, Map<String, String>> getTableColumnName(String tableName) throws Exception {
  12. String sql = "select * from " + tableName;
  13. PreparedStatement pstmt = new DbUtil().getConn().prepareStatement(sql);
  14. ResultSet rs = pstmt.executeQuery();
  15. ResultSetMetaData rsmd = pstmt.getMetaData();
  16. Map<String, String> tableColumnName_ClassName = new HashMap<>();
  17. for (int i = 0; i < rsmd.getColumnCount(); i++) {
  18. tableColumnName_ClassName.put(rsmd.getColumnName(i+1), rsmd.getColumnClassName(i+1));
  19. }
  20. Map<String, Map<String, String>> tableColumnNames = new HashMap<>();
  21. tableColumnNames.put(tableName, tableColumnName_ClassName);
  22. return tableColumnNames;
  23. }
  24. private void getDBAllTablesName_TableColumnsName() throws Exception {
  25. List<Map> DBAllTablesName_TableColumnsName = new ArrayList<>();
  26. List<String> tables = this.getDBTableName();
  27. for (String table : tables) {
  28. DBAllTablesName_TableColumnsName.add(this.getTableColumnName(table));
  29. }
  30. System.out.println(DBAllTablesName_TableColumnsName.toString());
  31. }

 

发表于
2017-07-21 23:47 
ErrStr 
阅读(4169
评论(0
编辑 
收藏 
举报

 

版权声明:本文为ErrStr原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/ErrStr/p/7220083.html

Mysql遍历数据库所有表、表名、表列名 - ErrStr的更多相关文章

  1. MongoDB安装配置教程 – 路修远而求索

    MongoDB安装配置教程 数据是每一前端人员必定接触的一样,所有的数据都是后端来编写,如果自己想练习项目,却 […]...

  2. 微信公众平台注册 – 岚之山

    微信公众平台注册 微信公众平台是由腾讯公司开发,其宗旨是在移动互联网时代,让企业和个人以更简捷的形式提供服务给 […]...

  3. AB实验的高端玩法系列3 – AB组不随机?观测试验?Propensity Score

    背景 都说随机是AB实验的核心,为什么随机这么重要呢?有人说因为随机所以AB组整体不存在差异,这样才能准确估计 […]...

  4. UART协议详解 – Easonay_Y

    UART协议详解 Posted on 2019-09-15 20:35  Easonay_Y  阅读(723) […]...

  5. 字符设备驱动程序 – 黑大米

    字符设备驱动程序 在内核中,dev_t类型用来保存设备编号——包括主设备号和次设备号。内核内部使用struct […]...

  6. 从零到一快速搭建个人博客网站(域名备案 + https免费证书)(一)

    前言        为什么选择搭建个人博客?一方面是各个平台经常下架原创文章,另一个方面是为了熟悉整个建站流程 […]...

  7. 如何在电脑硬盘安装linux系统 – 兔斯基摩洛哥

    如何在电脑硬盘安装linux系统 如何在电脑硬盘安装linux系统 准备软件: unetbootin,下载地址 […]...

  8. java的8种基本数据类型 – 王囧草

    java的8种基本数据类型  JAVA基本类型 8种基本数据类型 Java语言有8种基本数据类型, 分别用于存 […]...

随机推荐

  1. 详解EMC测试国家标准GB/T 17626

    电波暗室,用于模拟开阔场,同时用于辐射无线电骚扰(EMI)和辐射敏感度(EMS)测量的密闭屏蔽室。 来源:ht […]...

  2. UML类图

    软考资料网址 https://www.cnblogs.com/zytrue/p/8484806.html...

  3. Android 从上层到底层—–kernel层

    Android led底层驱动 CPU:RK3288 系统:Android 5.1 功能:上层 app 控制 […]...

  4. 『TensorFlow2.0正式版教程』极简安装TF2.0正式版(CPU&GPU)教程

    0 前言 TensorFlow 2.0,今天凌晨,正式放出了2.0版本。 不少网友表示,TensorFlow […]...

  5. Java面试题大汇总(附答案)

    相关概念 面向对象的三个特征 封装,继承,多态.这个应该是人人皆知.有时候也会加上抽象. 多态的好处 允许不同 […]...

  6. 【网页设计】分享21款网页模板PSD

    1.) Shape 2.) Summer of love 3.) Smashing Multimedia 4. […]...

  7. 软件版本 —— Alpha、Beta、RC版本的区别

    软件版本周期 α、β、λ 常用来表示软件测试过程中的三个阶段。 — α 是第一阶段,一般只供内部测 […]...

  8. Git – 在 Forked 仓库 如何提交 Pull Request

    Git – 在 Forked 仓库 如何提交 Pull Request 背景 最近参加了一个开源项 […]...