请教@JFinal作者

一学修行 发布于 2013/01/10 13:47
阅读 844
收藏 1

我有两个问题:

问题一: 在我的项目中,需要系统通过界面化动态定义未来业务表,而这种通过sql动态创建的业务表,请问如何让jfinal访问这种表,并实现CRUD

问题二: 当系统平台去接纳不同企业业务时,因业务不同而造成业务数据结构不同,我想通过两种方式解决不同业务数据的存储问题,1是把数据以xml或json方式存放到关系型数据表的某个字段中,2是通过nosql数据库实现xml或json数据的存储.请问jfinal如何操作关系型数据表中某字段中存放的xml或json,  jfinal如何与nosql数据库实现操作

加载中
1
菜根乱谭
菜根乱谭

第一个问题,您可以不选择model方式,而是直接采用Db类提供api进行操作。就是直接操作数据库的模式。

第二个问题,这不是jfinal的问题吧,而是java操作xml和json,你可以写个工具类来方便操作。jfinal只是一个开发框架,不可能把所有的功能都包含在内。jfinal对数据的操作还是以关系数据库为主,操作nosql自己根据nosql的api自行开发就是了。如果要想统一支持,可以编写jfinal的插件,比如支持monogodb这样的nosql数据库。

先替@JFinal 回答了,其他人再补充吧。

1
绝望的八皮
绝望的八皮

问题一:

jfinal操作数据库的核心是activiRecordPlugin.这个plugin在start之后会加载所有表信息进内存.如果在start之后改变了数据表结构需要启动plugin.目前来说jfinal的官方方案中应该没提供这样的用法.不过在jfinal-ext 1.3之后提供了jfinalkit来restart plugin,利用了反射等一系列比较hack一点的方法.暂时没经过过多验证不过可以尝试一下:)

问题二 

存储xml和json到字段本身和jfinal无关.放varchar或者clob字段都行的.如果你指的操作是指通过sql语句查询xml节点什么的那么你可以看oracle相关资料.是支持的.

在jfianl-ext 的develop分支上有我正在开发的mongodbplugin,目前实现了简单的分页排序和查询功能.我对nosql也不是有太多经验,目前有个实际需要要用所以做简单的plugin.如果你以前相关使用经验,其实用法不变,仅仅是在plugin中管理连接启动关闭仅此而已.jfinal的plugin可以集成任何第三方的东西,不改变原来用法,该怎么就怎么.

0
绝望的八皮
绝望的八皮
一楼说的对,这样的可以不选择model.直接db操作表,如果你想用model的方式,就得像我刚才说那个方向想办法..不过貌似还要动态生成model..是比较麻烦..还是直接写sql操作表吧..用db+record
0
27号
27号
@JFinal社区好活跃,刚到,就发现已经有权威的回答了 ,帮顶下。
0
a
alvinte
围观各路大牛……帮顶
0
一学修行
一学修行
restart plugin是否影响了在线用户.我们经常开发的MIS系统都是数据建模在业务建模之前就已经确定好的.而我要实现的系统是数据建模在业务建模之后,而且是运行时建模,因为业务模型过于复杂,需要实现数据的追溯,并且要在建模(运行时)后,实现对数据模型的界面化操作(页面模版也要根据新建数据模型动态创建),并至少完成CRUD.
绝望的八皮
绝望的八皮
这个也只是一个初步思路,真正做到安全可靠有很多问题还待考虑.最容易的方法应该是用db+record来目前看来.
0
一学修行
一学修行
先谢谢参与者的答复,响应如此及时
返回顶部
顶部