Jfinal动态映射数据表的问题
Jfinal 如何动态创建数据表的映射关系呢?
C3p0Plugin c3p0Plugin = new C3p0Plugin(PropKit.get("jdbcUrl"), PropKit.get("user"), PropKit.get("password").trim());
me.add(c3p0Plugin);
ActiveRecordPlugin arp = new ActiveRecordPlugin(c3p0Plugin);
me.add(arp);
arp.addMapping("employee_t", Employee.class);
C3p0Plugin c3p0Plugin = new C3p0Plugin(PropKit.get("jdbcUrl"), PropKit.get("user"), PropKit.get("password").trim());
me.add(c3p0Plugin);
ActiveRecordPlugin arp = new ActiveRecordPlugin(c3p0Plugin);
me.add(arp);
arp.addMapping("employee_t", Employee.class);
比如这个:employee_t是我的员工表,但是,如果我的订单表是动态的,比如:order_201606呢?是根据月份动态创建的表,该如何做映射呢??
还有就是有可能有这样的数据表:前缀_employee_t,前缀是随着系统用户的ID,比如:我的ID为openrtk,那么这个表名就是openrtk_employee_t,另外一个用户的ID为other,那么他的数据表名就是:other_employee_t,这种的表又该如何映射呢?谢谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
引用来自“tonysb”的评论
我的ID为openrtk,那么这个表名就是openrtk_employee_t,这句话的意思是,一个员工需要单独开一张表吗?
订单动态创建表,我觉得和Jfinal是没关系的吧,自己写好业务之后,然后对应的去映射就OK了
呵呵 这跟框架没什么关系啊。用javassist生成一个本地类。然后
List<Record> data=Db.find("select ...");
这样就可以了。
支持动态表。
我的ID为openrtk,那么这个表名就是openrtk_employee_t,这句话的意思是,一个员工需要单独开一张表吗?
订单动态创建表,我觉得和Jfinal是没关系的吧,自己写好业务之后,然后对应的去映射就OK了
能否给个例子呢? 对java经验比较少,之前一直做C的。拜托
貌似明白了,谢谢。看了以前做测试的代码,原来用到了Db + Record 模式
最简单的方法是使用 Db + Record 模式,此模式下,一切都是动态的,传对参数就可以了。
还有一种方式是,动态地停止、映射、启动 ActiveRecordPlugin,假定对象名为 arp,那么,只需要写点代码,在需要的时候 arp.stop() 掉,然后 arp.addMapping(...) 重新映射,然后再 arp.start() 启动,就可以动态地建立映射关系。