java mysql 字段注释_java读取mysql表的注释及字段注释

/**

* 读取mysql某数据库下表的注释信息

*

* @author xxx

*/

public class MySQLTableComment {

public static Connection getMySQLConnection() throws Exception {

Class.forName("com.mysql.jdbc.Driver");

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/databaseName", "root", "root");

return conn;

}

/**

* 获取当前数据库下的所有表名称

* @return

* @throws Exception

*/

public static List getAllTableName() throws Exception {

List tables = new ArrayList();

Connection conn = getMySQLConnection();

Statement stmt = conn.createStatement();

ResultSet rs = stmt.executeQuery("SHOW TABLES ");

while (rs.next()) {

String tableName = rs.getString(1);

tables.add(tableName);

}

rs.close();

stmt.close();

conn.close();

return tables;

}

/**

* 获得某表的建表语句

* @param tableName

* @return

* @throws Exception

*/

public static Map getCommentByTableName(List tableName) throws Exception {

Map map = new HashMap();

Connection conn = getMySQLConnection();

Statement stmt = conn.createStatement();

for (int i = 0; i < tableName.size(); i++) {

String table = (String) tableName.get(i);

ResultSet rs = stmt.executeQuery("SHOW CREATE TABLE " + table);

if (rs != null && rs.next()) {

String createDDL = rs.getString(2);

String comment = parse(createDDL);

map.put(table, comment);

}

rs.close();

}

stmt.close();

conn.close();

return map;

}

/**

* 获得某表中所有字段的注释

* @param tableName

* @return

* @throws Exception

*/

public static void getColumnCommentByTableName(List tableName) throws Exception {

Map map = new HashMap();

Connection conn = getMySQLConnection();

Statement stmt = conn.createStatement();

for (int i = 0; i < tableName.size(); i++) {

String table = (String) tableName.get(i);

ResultSet rs = stmt.executeQuery("show full columns from " + table);

System.out.println("【"+table+"】");

// if (rs != null && rs.next()) {

//map.put(rs.getString("Field"), rs.getString("Comment"));

while (rs.next()) {

// System.out.println("字段名称:" + rs.getString("Field") + "\t"+ "字段注释:" + rs.getString("Comment") );

System.out.println(rs.getString("Field") + "\t:\t"+ rs.getString("Comment") );

}

// }

rs.close();

}

stmt.close();

conn.close();

// return map;

}

/**

* 返回注释信息

* @param all

* @return

*/

public static String parse(String all) {

String comment = null;

int index = all.indexOf("COMMENT='");

if (index < 0) {

return "";

}

comment = all.substring(index + 9);

comment = comment.substring(0, comment.length() - 1);

return comment;

}

public static void main(String[] args) throws Exception {

List tables = getAllTableName();

Map tablesComment = getCommentByTableName(tables);

Set names = tablesComment.keySet();

Iterator iter = names.iterator();

while (iter.hasNext()) {

String name = (String) iter.next();

System.out.println("Table Name: " + name + ", Comment: " + tablesComment.get(name));

}

getColumnCommentByTableName(tables);

}

mysql&colon;表注释和字段注释

mysql:表注释和字段注释 1 创建表的时候写注释 create table test1 ( field_name int comment '字段的注释' )comment='表的注释'; 2 修改 ...

查看文章 mysql&colon;表注释和字段注释

查看文章 mysql:表注释和字段注释 学习了:https://blog.csdn.net/chamtianjiao/article/details/6698690 2 修改表的注释 alter ta ...

让hive的表注释和字段注释支持中文

此处用的数据库类型为mysql.发现hive在初始化创建这些表的时候,大部分字段的字符集给设置成了latin1,然后collation设成了latin1_bin. 但是我们在hive中创建表时,表注释 ...

Django之集合函数使用与mysql表的创建特殊字段分析

1. 集合函数的使用场景: -- 单独使用: 不分组, 只查聚合结果 -- 分组使用: 按字段分组, 可查询分组字段与聚合结果 2. 导入聚合函数 from django.db.models impo ...

Oracle 查询表注释以及字段注释

Oracle 查询表注释以及字段注释 --表字段信息 select * from all_tab_columns a where a.TABLE_NAME='T_X27_USER'; --表注释信息 ...

mysql查看表注释和字段注释的方法

1.取字段注释 Select COLUMN_NAME 列名, DATA_TYPE 字段类型, COLUMN_COMMENT 字段注释from INFORMATION_SCHEMA.COLUMNSWhe ...

查看文章 mysql&colon;表注释和字段注释&lbrack;转&rsqb;

1 创建表的时候写注释 create table test1 ( field_name int comment '字段的注释' )comment='表的注释'; 2 修改表的注释 alter tabl ...

mysql添加表注释、字段注释、查看与修改注释

1 创建表的时候写注释create table test1( field_name int comment '字段的注释')comment='表的注释'; 2 修改表的注释alter table te ...

mysql中查看所有表、表字段、表注释、字段注释

查看所有表和表注释 select TABLE_NAME, TABLE_COMMENT from INFORMATION_SCHEMA.Tables where table_schema = '某数据库 ...

随机推荐

MyCat源码分析系列之——配置信息和启动流程

更多MyCat源码分析,请戳MyCat源码分析系列 MyCat配置信息 除了一些默认的配置参数,大多数的MyCat配置信息是通过读取若干.xml/.properties文件获取的,主要包括: 1)se ...

解决WebApi入参时多对象的问题

我们的项目是用WebApi提供数据服务,且WebPage跟APP中都有调用到. WebApi提供的接口一多,就发现一个问题,我们项目中有很多接口是接收POST(安全原因,我们采用的是https)请求的 ...

如何在JAVA中实现一个固定最大size的hashMap

如何在JAVA中实现一个固定最大size的hashMap 利用LinkedHashMap的removeEldestEntry方法,重载此方法使得这个map可以增长到最大size,之后每插入一条新的记录 ...

评估指标:准确率&lpar;Precision&rpar;、召回率&lpar;Recall&rpar;以及F值&lpar;F-Measure&rpar;

为了能够更好的评价IR系统的性能,IR有一套完整的评价体系,通过评价体系可以了解不同信息系统的优劣,不同检索模型的特点,不同因素对信息检索的影响,从而对信息检索进一步优化. 由于IR的目标是在较短时间 ...

JavaScript ECAMScript5 新特性——get&sol;set访问器

之前对get/set的理解一直有误,觉得get set 是对象属性方法.看了别人的博客也有很多疑问,今天系统的做了很多测试终于弄明白了.(自己通过看书和写demo测试的,如有不对欢迎大家批评指正) g ...

&lbrack;优先队列&rsqb;HDOJ5360 Hiking

题意:有n个人,每个人有两个参数$l$和$r$ 邀请他们去hiking, 当  当前已经邀请到的人数大于等于$l$,并且小于等于$r$,那么这个人就会去 问最多能邀请到几个人 并输出 依次要邀请的人的 ...

Android 读写文件

Android 读写文件 Android使用一个非常类似与其他平台上的基于磁盘的文件系统. 这节课讲述如何利用File APIs在Android文件系统中读写文件. File 对象非常适合于流式顺序数 ...

dom4j配置文件

# 我们必须实例化 ConsoleAppender # 01.实例化对象 ConsoleAppender console =new ConsoleAppender(); # log4j.appende ...

console&period;log的返回值undefined

console.log(fun());  function fun(){ console.log(1); } //输出结果为: 1 undefined console.log(fun());  ...

MVC中Model元数据及绑定机制

ASP.NET MVC的Model为View Model,表示最终呈现在View上的数据,而Model元数据的一个重要的作用在于控制对象在View上的呈现方式.说得更加具体点,就是基于某种数据类型的M ...

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值