JFinal里得到表结构的方法总结:
1、得到已经配置的Model类的表结构。(推荐用法)。如下,定义一个User的Model类,这样就可以得到Model类的表结构了。具体实现不明白,请高手指导。
public void tableMappingTest(){
Table table = TableMapping.me().getTable(User.me.getClass());
renderText(table.getColumnTypeMap().toString());
}
2、通过执行sql语句,得到表结构,并输出。在mysql中可以使用desc命令得到对应的表或者视图结构。而在sql server中通过select * from information_schema.columns where table_name=‘TableName‘的形式得到对应的表结构,然后根据查询结果输出。
public void codeFactoryFinal(){
String tableName = "ProjectProfessionalMember";
List<Record> list = Db.find("select * from information_schema.columns where table_name=‘"+tableName+"‘");
setAttr("tableStruct",list);
setAttr("tableName", tableName);
System.out.println(list);
renderFreeMarker("codeFactoryFinal.html");
}
最后模板输出代码不解释,就是根据得到的查询结果,组织数据展示。
3、通过装有数据的Model得到表结构。首先model的有数据,所有字段的数据都得有。
public void tableDescTest(){
UserGroup group = UserGroup.me.findById(61);
renderText(CPI.getAttrs(group).toString());
}
输出的key就是得到的字段名。不如第一种好用啊。
今天暂时总结到这里,欢迎大家评论指导,多谢波总提供这么好用的框架。