java生成实体类的工具内部是如何实现的(mysql) 一、认识INFORMATION_SCHEMA数据库 二、显示所有的数据库 三、利用TABLES表获取数据库中的表 四、利用COLUMNS表获取表中的字段及其它数据 五、利用所取得的数据拼接生成的代码

INFORMATION_SCHEMA数据库提供了访问数据库元数据(数据的数据)的方式

该数据库中存放有数据库名、表名,列名、列的数据类型等各种数据

生成实体类就要从该数据库下手

二、显示所有的数据库

生成实体类,往往要先选择数据库,这个非常简单,只需要简单的一句sql即可获得所有的数据库

show databases;

三、利用TABLES表获取数据库中的表

下一步,要显示所选数据库的所有的表,这里就用到了前面所提的INFORMATION_SCHEMA数据库

它下面的TABLES表存放了我们所建立的每一张表数据、表的结构

这里我们只取表的名字,其中DatabaseName就是选择的数据库名字

SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'DBName'

四、利用COLUMNS表获取表中的字段及其它数据

选中了表后,无论选择生成什么,都要获取表中的字段、字段数据类型、注释、等信息

在INFORMATION_SCHEMA数据库中的COLUMNS中可以找到这些信息,sql如下:

SELECT DISTINCT column_name,data_type,column_comment ,column_key FROM Information_schema.COLUMNS WHERE TABLE_NAME = 'TableName' AND TABLE_SCHEMA = 'DBName'

 其中

column_name
字段名称
data_type
字段数据类型
column_comment 
字段注释
column_key
是否是主键、外键、唯一索引等

五、利用所取得的数据拼接生成的代码

此处略