首页
App
&
Coffee
文档
项目
分享
反馈
俱乐部
登录
注册
如何根据表名获取表中所有字段的信息?
nbjgl
2017-12-04 21:28
需要每一个字段的名字、类型、注释。
项目:
JFinal
1
1
评论区
kyytyp
2017-12-05 09:14
每个数据库写法不一样 建议你百度一下
回复
Dreamlu
2017-12-05 09:52
有个TableMapping不过是根据Model.class拿的
回复
nicklee
2017-12-06 11:04
@nbjgl
类似
SELECT COLUMN_NAME,DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '你的表名';
SELECT COLUMN_NAME,COLUMN_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '你的表名';
回复
杜福忠
2017-12-06 13:49
DruidPlugin druidPlugin = new DruidPlugin( jdbcUrl, userName, passWord);
druidPlugin.start();
DruidDataSource dataSource = (DruidDataSource)druidPlugin.getDataSource();
Properties properties = new Properties();
properties.setProperty("remarks", "true");
properties.setProperty("useInformationSchema", "true");
dataSource.setConnectProperties(properties);
DataSource dataSource = getDataSource();
MetaBuilder metaBuilder = new MetaBuilder(dataSource);
// 没有主键的 表可以排除
metaBuilder.addExcludedTable("courseplan_back");
// 默认是Mysql, 如果是其他的, 就换
//metaBuilder.setDialect(new MysqlDialect());
// 表的 集合
List< TableMeta> build = metaBuilder.build();
// List 转 Map 然后 静态存起来, 供其他地方使用, 例:
Map< String, TableMeta> tableMetas = new HashMap< String, TableMeta>();
for (TableMeta tableMeta : build) {
tableMetas.put(tableMeta.name, tableMeta);
}
// 使用
TableMeta tableMeta = tableMetas.get("test");
可以看下Jfinal源码中字典等生成器
回复
nbjgl
2017-12-06 18:04
Thanks
回复
发送
我要反馈
热门反馈
扫码入社