背景
因为最近在搞代码生成器,所以需要根据表名生成实体类,但是需要获取表信息和每一列的信息(列名、列类型和列备注)还需要查表的主键。
注:以下sql的参数只有一个数据表名。
具体语句
查询表信息
select
a.table_name as tableName,
a.comments
from user_tab_comments a
left join user_cons_columns b on a.table_name = b.table_name
where a.Table_Name=#{tableName}
查询列信息
select
a.column_name,
b.DATA_TYPE,
a.comments
from user_col_comments a
left join user_tab_columns b on a.table_name = b.TABLE_NAME
where a.Table_Name=#{tableName} and a.column_name = b.COLUMN_NAME
查询表主键
select
a.column_name as primaryKey
from user_cons_columns a
left join user_constraints b on a.constraint_name = b.constraint_name
where b.constraint_type = 'P' and a.table_name = #{tableName}