我一个项目里用了2个数据库,其中A数据库有20个表,B数据库有10个表,我知道可以配置多数据源,然后查询,但是这样的情况下,model怎么办?启动的时候不是会进行隐射, 但是B数据库的10个表,在以A为主数据源的时候,不就报错了?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
http://www.jfinal.com/man
写这个代码的时候报错
<spanstyle="line-height:1.5;font-size:10pt;">ActiveRecordPluginarpMysql= <spanstyle="line-height:1.5;font-size:10pt;">new<spanstyle="line-height:1.5;font-size:10pt;"> ActiveRecordPlugin(<spanstyle="line-height:1.5;font-size:10pt;">"mysql"<spanstyle="line-height:1.5;font-size:10pt;">,dsMysql);
<spanstyle="line-height:1.5;font-size:10pt;">最后按提示,修改后,就没有后面的configname了
<spanstyle="line-height:1.5;font-size:10pt;"><spanstyle="font-size:10pt;line-height:1.5;">ActiveRecordPluginarpMysql= <spanstyle="font-size:10pt;line-height:1.5;">new<spanstyle="font-size:10pt;line-height:1.5;"> ActiveRecordPlugin(<spanstyle="font-size:10pt;line-height:1.5;"> dsMysql);
<spanstyle="line-height:1.5;font-size:10pt;"><aclass='referer'target='_blank'>@JFinal
<spanstyle="line-height:1.5;font-size:10pt;">
<spanstyle="line-height:1.5;font-size:10pt;">
写这个代码的时候报错
<spanstyle="line-height:1.5;font-size:10pt;">ActiveRecordPluginarpMysql= <spanstyle="line-height:1.5;font-size:10pt;">new<spanstyle="line-height:1.5;font-size:10pt;"> ActiveRecordPlugin(<spanstyle="line-height:1.5;font-size:10pt;">"mysql"<spanstyle="line-height:1.5;font-size:10pt;">,dsMysql);
<spanstyle="line-height:1.5;font-size:10pt;">最后按提示,修改后,就没有后面的configname了
<spanstyle="line-height:1.5;font-size:10pt;"><spanstyle="font-size:10pt;line-height:1.5;">ActiveRecordPluginarpMysql= <spanstyle="font-size:10pt;line-height:1.5;">new<spanstyle="font-size:10pt;line-height:1.5;"> ActiveRecordPlugin(<spanstyle="font-size:10pt;line-height:1.5;"> dsMysql);
<spanstyle="line-height:1.5;font-size:10pt;"><aclass='referer'target='_blank'>@JFinal
<spanstyle="line-height:1.5;font-size:10pt;">
<spanstyle="line-height:1.5;font-size:10pt;">
有个新问题,<aclass='referer'target='_blank'>@JFinal
之前用的AutoTableBindPlugin可以不用对每个表都写addMapping
但是现在我用的多个数据库,就不能用AutoTableBindPlugin了,那有什么办法可以不用对每个表都写addMapping啊? 毕竟几个数据库,表都上百个了
<divclass='ref'>有个新问题,<aclass='referer'target='_blank'>@JFinal
之前用的AutoTableBindPlugin可以不用对每个表都写addMapping
但是现在我用的多个数据库,就不能用AutoTableBindPlugin了,那有什么办法可以不用对每个表都写addMapping啊? 毕竟几个数据库,表都上百个了
回复<aclass='referer'target='_blank'>@JFinal:嗯,刚对配置改进了下,对比下,只是增加了几十行代码回复<aclass='referer'target='_blank'>@子寒:其实一张表一行代码,工作量不大,相比hibernate时代的配置量,已经可以忽略不计了。使用AutoTableBindPlugin需要用注解,其实也相当于配置,一样的工作量嗯,我去看下最新版,另外我把问题描述下:ABC3个数据库,A有20个表,BC40个表。BC两个数据库的表结构一样,但是数据不一样我在配置插件的时候,怎么可以不用每个表去写代码隐射?<aclass='referer'target='_blank'>@绝望的八皮jfe3.1.2支持多数据源,不过在win下scanPackage方法有bug.
3.1.3修复不过没正式发布.目前发布了snapshot
https://oss.sonatype.org/content/repositories/snapshots/com/jfinal/jfinal-ext/
mvn/gradle等加入依赖
<spanstyle="color:#6a8759;">com.jfinal:jfinal-ext:3.1.3-SNAPSHOT'https://github.com/b1412/jfinal-ext/blob/master/doc/doc.org文档里面有说明多数据源推荐将不同数据源的Model放在不同的package中然后调用addScanPackages设置要扫描的packageatbp=newAutoTableBindPlugin(druidPlugin).addScanPackages("com.xx.yy.service1.model");atbp2=newAutoTableBindPlugin("another",druidPlugin2).addScanPackages("com.xx.yy.service2.model2","com.xx.yy.service2.model3")如果在一个package里面有属于不同数据源的model(如果不是因为无法避免的历史遗留原因不要采用这样的方式),那么给Model加上TableBind注解并给configName属性赋值我用了这个方法,然后用的addScanPackages,用的循环配置每个数据库,但是一直报索引超出范围,现在改成了一个一个表的写法,回头我再试下,有成果我发出来另外关于表相同数据不同这样的方案我本身没有做过,所以还没有比较深入的思考.在两个包建立不同的类可否?3.1.2在win下会出bug换3.1.3-snapshot