Jfinal如何正确使用多数据源?
2013-11-22 14:24
190 查看
JFinal 为了省代码达到极速开发,所以只支持一个主数据源,同时支持多个辅数据源。所谓主数据源是指当你在使用JFinal对数据库操作时,如果没有明确指定数据源,那么默认为使用了主数据源。
主数据源可以在两个地方设置,其一是在 new ActiveRecordPlugin 时指定,其二是使用DbKit.setDataSource(DataSource ds)来指定。ActiverecordPlugin 中所依赖的主数据源,以及数据库配置都是共享的,所以 new 出多个 ActiveRecordPlugin来是没有意义的。主数据源可以通过DbKit.setDataSource(...)在程序中动态指定。
C3P0Plugin 可以创建多个对象,这是有意义的,所以楼主上面给的代码是有意义的。
Oracle 在保存数据时 primaryKey 是指主键名称,例如可以是"ID",而Record这个参数中,要给定相应的主键值,如new Record().set("ID",123);
以下给出多数据源的使用例子代码,首先是初始化代码:
以下是多数据源使用代码:
主数据源可以在两个地方设置,其一是在 new ActiveRecordPlugin 时指定,其二是使用DbKit.setDataSource(DataSource ds)来指定。ActiverecordPlugin 中所依赖的主数据源,以及数据库配置都是共享的,所以 new 出多个 ActiveRecordPlugin来是没有意义的。主数据源可以通过DbKit.setDataSource(...)在程序中动态指定。
C3P0Plugin 可以创建多个对象,这是有意义的,所以楼主上面给的代码是有意义的。
Oracle 在保存数据时 primaryKey 是指主键名称,例如可以是"ID",而Record这个参数中,要给定相应的主键值,如new Record().set("ID",123);
以下给出多数据源的使用例子代码,首先是初始化代码:
01 | public void configPlugin(Plugins me) { |
02 | // C3p0Plugin可以有多个对象存在 |
03 | C3p0Plugin c3p0Plugin = new C3p0Plugin(...); |
04 | C3p0Plugin c3p0Plugin2 = new C3p0Plugin(...); |
05 | me.add(c3p0Plugin); |
06 | me.add(c3p0Plugin2); |
07 |
08 | // ActiveRecordPlugin 只能有一个对象存在 |
09 | ActiveRecordPlugin arp = new ActiveRecordPlugin(c3p0Plugin); |
10 | me.add(arp); |
11 | arp.addMapping( "vote" , Vote. class ); |
12 | } |
1 | // 没有指定数据源的时候,默认使用是的主数据源 |
2 | Vote vote = Vote.dao.findById( 123 ); |
3 |
4 | // 指定了数据源,默认使用的是辅数据源,注意下面方法的第一个参数都指定了数据源 |
5 | List<Record> votes = Db.find(c3p0Plugin2.getDataSource(), "select * from vote" ); |
6 | Db.save(C3p0Plugin2.getDataSource(), "vote" , "ID" , new Record().set( "ID" , 888 ).set(...).set(...)); |
相关文章推荐
- asp.net 传值给服务端,服务端处理并且显示
- OCP-1Z0-052-V8.02-48题
- Pro Android学习笔记(五七):Preferences(1):ListPreference
- 小样:内存管理系统实现,提供可持久化功能
- LeetCode:Populating Next Right Pointers in Each Node I II
- chapter 3Expressions
- Client Connection to RAC Intermittently ORA-12545 TNS: Host or Object Does not Exist
- replaceAll中的斜杆问题
- 度量Web性能的关键指标
- Netbeans中使用FindBugs Plugin
- eml邮件格式转换为html-python
- apache设置映射文件夹的配置方法
- eclipse 中用svn共享项目
- Python中的异常
- UNIX Domain Socket IPC (sockaddr_un )
- 模拟登陆WINDOWS认证的sharepoint页面
- RH033读书笔记(4)-Lab 5 File Permissions
- iOS9
- 递归法
- Java简单入门---------JDK的检测,安装和环境变量设定