jfinal configroute1.6中怎么切换主数据源?怎么更改“main”,Config

@JFinal 你好,想跟你请教个问题:JFinal开发中 ,HTML中表单中的参数到了JAVA 中用getPara取值乱码;同时HTML中的这些中文参数...
发布于 10个月前
最近开始尝试做个爬虫,挑了挑,后来选了 webmagic ,从一个网站上也抓下来数据了感觉蛮好。可是换了个网站发现这网站的数据在页面是没有的,都是通过aj...
发布于 10个月前
1.在网页中点击事件 2.弹窗,其中有多条信息,点击下一页 3.后台用render("***.jsp");返回到界面,弹窗就会消失,要让弹窗还在并跳转到下...
发布于 10个月前
使用JFinal框架,FreeMarker生成html时以GB2312编码写入文件,如何改为UTF-8? 使用的Myeclipse ,各...
发布于 10个月前
使用Jfinal的Redis组件调用API的时候报空指针: java.lang.RuntimeException: java.io.IOException...
发布于 10个月前
@JFinal 你好,想跟你请教个问题: Db.deleteById()方法,返回的是false,我看源码,只有删除记录&=1的时候才返回true ,那当...
发布于 10个月前
JFinal Db模块能不能提供像Hibernate中的一级缓存的效果啊?? 就是在一个session中,查询过的,再次查询不用再到数据库中查了,而直接从...
发布于 10个月前
第一次调用service确实是没问题,但是第二个service没有写入到数据库中,是不是一个类中只能执行一个sql吗?
发布于 10个月前
相同的测试代码,为什么jdk1.7没有内存溢出。而1.6内存溢出了。 public static void main(String[] args) {
发布于 10个月前
@JFinal 你好,想跟你请教个问题: Jfinal-weixin 能否向某一用户发送图文信息?
发布于 10个月前
@JFinal 在控制台打印store_name 输出正常的中文,但是作为参数传入就编程乱码,下面是java代码和异常。 我换过数据可和jdbc驱动,依然...
发布于 3年前
如题,大家的报错吗?不报错开发很不方便啊
发布于 10个月前
@JFinal 你好,想跟你请教个问题: 发现Handler的源码中用next替换了nextHandler,就为了少些几个字母吗
发布于 10个月前
@JFinal 你好,想跟你请教个问题 为啥加密不带个salt参数的版本啊,还得我还得导入shiro的包??
发布于 10个月前
@JFinal 你好,想跟你请教个问题: public void configInterceptor(Interceptors me)
发布于 10个月前
33号小人物
首先感谢@JFinal赶在新年之前发布了给力的2.1版本,完美兼顾了Model和Bean 现在我想在Model层面实现对数据库的读写分离,以下是大概思路:...
发布于 1年前
@JFinal 你好,想跟你请教个问题: 我写的JavaBean提示不被支持。只有继承了Model才可以。用的是JFinal2.2
发布于 10个月前
求助:页面中设置图片的文件路径,读取不到,在下图中的index.ftl中获取img路径下的一张图片 我在jfinalConfig中设置了:hl.add(n...
发布于 10个月前
使用jfinal写了个访问首页的一个内容。在windows平台下 ,在eclipse中启动tomcat可以正常访问,然后使用maven的打包后放到服务器上...
发布于 10个月前
@JFinal 你好,想跟你请教个问题: 一直的写法是从controller获取当前用户,然后把当前用户的对象或者userid传入service方法中,感...
发布于 10个月前
q.getRecords()是我自己封装的,其实这个方法获得的对象是page List&LoggingEvent& aa = q.getRecords(...
发布于 10个月前
JFinal 怎么不增加设置 Cookie
HttpOnly 的api @JFinal
发布于 4年前
首先先感谢下@jfinal的热忱帮助和建议,昨晚拜读JFinal中的Controller源码,发现Controller是对Servlet的封装,将Serv...
发布于 4年前
在JFinal中调用setCookie方法,如下: 然后在浏览器上看这个cookie: 里面把这个引号都设进去了呢,这个格式js没办法进行JSON解析吧,...
发布于 2年前
longrmlife
cookie不是客户端的东西吗,为什么在后端后设置cookie的地方
发布于 1年前
@JFinal 你好,想跟你请教个问题:jfinal 框架后台设置cookie 页面用freemark怎么去获取;session是这样取的${sessio...
发布于 2年前
@Jfinal 比如,我在拦截器中向response中写入了一个cookie,cookie未写入request,现在想在action中通过response...
发布于 2年前
@JFinal 你好,想跟你请教个问题:波总,看到你在有个cookie代替session方案里边回答用sessionIdKit,有啥具体方案没有,我不太清...
发布于 4年前
@JFinal 你好,想跟你请教个问题: jFinal中,使用GeneratorDemo生成的baseModel没有字段信息的描述 在数据库定义的时候,表...
发布于 10个月前
@JFinal 你好,想跟你请教个问题:Jfinal执行事务在Sybase create/alter语句出错: com.jfinal.plugin.act...
发布于 10个月前
afterJFinalStart方法Db.use()报Config not found by configName: arpMysql @Jfinal
发布于 10个月前
@JFinal 你好,我有下面这个需求,想了很久但问题还没有解决: JFinal 怎么自己活得数据库Connection对象?我需要把工作流事务整合到JF...
发布于 10个月前
【嘉宾近照】 李飞,ID:@玛雅牛 ,Git 主页:http://git.oschina.net/myaniu 【正文】 1. 请简单地介绍一下你自己(技...
发布于 1年前
请教,为什么西面的java.sql.time和java.sql.Timestamp不像上面的Date多加一层解析。这样我们前台传的日期就会自动转换了。
发布于 10个月前
@JFinal 你好,想跟你请教个问题: 我照着weixin demo集成到了实际环境中: /weixin ,发...
发布于 10个月前
@JFinal 你好,想跟你请教个问题: 以前都是这样调用的 new Customer().
set(Customer.U...
发布于 10个月前
请教一下可否在BaseController中把所有Dao都定义好?Dao已经用单例模式了。这样的好处是不用在每个Controller中再重新定义,可以直接...
发布于 10个月前
我想做一个树,用了插件在zTree、 在js中 我定义一个var
tree想获得当前页面标签&p id="test" &${ttree}&/p&的这个...
发布于 10个月前
然后 当表单提交时报错 没有一点头绪呢
你们能帮帮我吗
发布于 10个月前
@Jack-X 你好,想跟你请教个问题: jfinal.start()启动报错 java.lang.RuntimeException: java.lang...
发布于 10个月前jfinal多数据源的获取
我在configPlugin多配置了一个SQL2000的数据源,请问如何在BlogController中获取这个数据源?
(我想在应用中同时使用这两个数据源,依据需要获取相应数据源(mySQL,SQL-2000)中的表数据)
public void configPlugin(Plugins me) { // 配置C3p0数据库连接池插件 &mySQL C3p0Plugin c3p0Plugin = new C3p0Plugin( getProperty(&jdbcUrl&) &, getProperty(&user&) &, getProperty(&password&).trim());
me.add(c3p0Plugin);
// SQL2000 C3p0Plugin c3p0Plugin_sql2000= new C3p0Plugin( getProperty(&jdbcUrl_SQL2000&) ,getProperty(&user_SQL2000&) ,getProperty(&password_SQL2000&).trim() ,getProperty(&driver_SQL2000&) );
me.add(c3p0Plugin_sql2000);
引用来自“JFinal”的答案引用来自“andying”的答案我把mySql这个数据源去掉后,就可以正常连接SQL2000 了,也可以save了,怎样才能同时建立2个数据源连接? jfinal 多数据源的问题请看这里:
jfinal 春节以后会考虑实现一个对用户完全透明的极简的多数据源方案
期待官方版新方案。
目前正在测试jfinal与dojo的整合,很好用,还准备做一个主子表方面(入库单,销售订单)的应用测试。
引用来自“andying”的答案我把mySql这个数据源去掉后,就可以正常连接SQL2000 了,也可以save了,怎样才能同时建立2个数据源连接? jfinal 多数据源的问题请看这里:
jfinal 春节以后会考虑实现一个对用户完全透明的极简的多数据源方案
我把mySql这个数据源去掉后,就可以正常连接SQL2000 了,也可以save了,怎样才能同时建立2个数据源连接?
重启后又出以下错误:
[ERROR]-[Thread: main]-[com.jfinal.core.Config.startPlugins()]: Plugin start error: com.jfinal.plugin.activerecord.ActiveRecordPlugin.&
ActiveRecord start error: ActiveRecordPlugin need DataSource or DataSourceProvider
java.lang.RuntimeException: ActiveRecord start error: ActiveRecordPlugin need DataSource or DataSourceProvider
at com.jfinal.plugin.activerecord.ActiveRecordPlugin.start(ActiveRecordPlugin.java:113)
at com.jfinal.core.Config.startPlugins(Config.java:78)
at com.jfinal.core.Config.configJFinal(Config.java:48)
at com.jfinal.core.JFinal.init(JFinal.java:68)
at com.jfinal.core.JFinalFilter.init(JFinalFilter.java:49)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
at org.apache.catalina.core.ApplicationFilterConfig.&init&(ApplicationFilterConfig.java:108)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3696)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4343)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
15:52:58 org.apache.catalina.core.StandardContext filterStart
严重: Exception starting filter jfinal
说明一下:
& & &1.&Blog表指向的是mySql数据源
& & &2.Record &rec=new Record() & & & & & .set(&vAddr&, &123&).set(&vCode&, &aa&); & & & Db.save(ds, &Base_Addr&, rec); &
& & & 这里的ds指向的是MS-SQL2000 Server数据源
我的配置类如下:
public void configPlugin(Plugins me) {
// 配置C3p0数据库连接池插件
C3p0Plugin c3p0Plugin = new C3p0Plugin(
getProperty(&jdbcUrl&)
&, getProperty(&user&)
&, getProperty(&password&).trim());
me.add(c3p0Plugin);
// 配置mySql
ActiveRecordPlugin arp = new ActiveRecordPlugin(c3p0Plugin);
arp.setShowSql(true);
me.add(arp);
arp.addMapping(&blog&, Blog.class); // 映射blog 表到 Blog模型
//配置SQL2000
C3p0Plugin c3p0Plugin_sql2000= new C3p0Plugin(
getProperty(&jdbcUrl_SQL2000&)
,getProperty(&user_SQL2000&)
,getProperty(&password_SQL2000&).trim()
,getProperty(&driver_SQL2000&)
me.add(c3p0Plugin_sql2000);
nConnSQLPlugin_sql2000;
ActiveRecordPlugin arp2000=new ActiveRecordPlugin(c3p0Plugin_sql2000);
arp2000.setShowSql(true);
arp2000.setDialect(new AnsiSqlDialect()); &
配置方言出错呀,错误信息如下
me.add(arp2000);
Can not build TableInfo, maybe the table blog is not exists.
[ERROR]-[Thread: main]-[com.jfinal.core.Config.startPlugins()]: Plugin start error: com.jfinal.plugin.activerecord.ActiveRecordPlugin.&
com.microsoft.sqlserver.jdbc.SQLServerException: 对象名 'blog' 无效。
com.jfinal.plugin.activerecord.ActiveRecordException: com.microsoft.sqlserver.jdbc.SQLServerException: 对象名 'blog' 无效。
at com.jfinal.plugin.activerecord.TableInfoBuilder.buildTableInfo(TableInfoBuilder.java:49)
at com.jfinal.plugin.activerecord.ActiveRecordPlugin.start(ActiveRecordPlugin.java:118)
at com.jfinal.core.Config.startPlugins(Config.java:78)
at com.jfinal.core.Config.configJFinal(Config.java:48)
at com.jfinal.core.JFinal.init(JFinal.java:68)
at com.jfinal.core.JFinalFilter.init(JFinalFilter.java:49)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
at org.apache.catalina.core.ApplicationFilterConfig.&init&(ApplicationFilterConfig.java:108)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3696)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4343)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: 对象名 'blog' 无效。
引用来自“andying”的答案 问题又来了,
// 1.这句没问题:
List&Record& lists=Db.find(ds, &select * from Base_Addr&); for (Record record : lists) { System.out.println(record.getInt(&id&)+& &+record.getStr(&vAddr&)); }
----------------------------------------------------------------------------------- Record &rec=new Record() &.set(&vAddr&, &123&).set(&vCode&, &aa&); Db.save(ds, &Base_Addr&, rec); & &// 2. 这句就有问题了,ds是连接SQL Server2000的数据源.报如下错误:
com.microsoft.sqlserver.jdbc.SQLServerException: 第 1 行: '`' 附近有语法错误。
设置方言:
arp.setDialect(new AnsiSqlDialect());
想显示一下SQL语句,做如下配置,又不成功.
//SQL2000 ActiveRecordPlugin arp2000=new ActiveRecordPlugin(c3p0Plugin_sql2000); arp2000.setShowSql(true); me.add(arp2000);
以上设置不行,
问题又来了,
// 1.这句没问题:
List&Record& lists=Db.find(ds, &select * from Base_Addr&); for (Record record : lists) { System.out.println(record.getInt(&id&)+& &+record.getStr(&vAddr&)); }
----------------------------------------------------------------------------------- Record &rec=new Record() &.set(&vAddr&, &123&).set(&vCode&, &aa&); Db.save(ds, &Base_Addr&, rec); & &// 2. 这句就有问题了,ds是连接SQL Server2000的数据源.报如下错误:
com.microsoft.sqlserver.jdbc.SQLServerException: 第 1 行: '`' 附近有语法错误。
原因找到了是包名引用错误
com.microsoft.sqlserver.jdbc.SQLServerDriver问题:Jfinal中怎样配置两个数据库连接
描述:public void configPlugin(Plugins me) {
&& &&& &// 配置C3p0数据库连接池插件
&& &&& &C3p0Plugin c3p0Plugin = new C3p0Plugin(getProperty(&jdbc.url&), getProperty(&jdbc.user&), getProperty(&jdbc.password&), getProperty(&jdbc.driverClass&));
&& &&& &me.add(c3p0Plugin);
&& &&& &// 配置C3p0数据库连接池插件
&& &&& &C3p0Plugin jirac3p0Plugin = new C3p0Plugin(getProperty(&jira.jdbc.url&), getProperty(&jira.jdbc.user&), getProperty(&jira.jdbc.password&), getProperty(&jira.jdbc.driverClass&));
&& &&& &me.add(jirac3p0Plugin);
&& &&& &// 配置ActiveRecord插件
&& &&& &ActiveRecordPlugin arp = new ActiveRecordPlugin(c3p0Plugin);
&& &&& &arp.setShowSql(true);
&&&&&&& arp.addMapping(&project_case&, ProjectCase.class);
&& &&& &me.add(arp);
&& &&& &// 配置ActiveRecord插件
&& &&& &ActiveRecordPlugin jiraarp = new ActiveRecordPlugin(jirac3p0Plugin);
&& &&& &jiraarp.setShowSql(true);
&& &&& &jiraarp.addMapping(&jiraissue&, Issue.class);
&& &&& &me.add(jiraarp);
这样配置启动报错,有解决过的大神么???求支持!!! 解决方案1:官方支持的话,坐等1.6版本吧,这几天就发布了解决方案2:楼主要善于搜索,解决方案在这里:
http://www.oschina.net/question/解决方案3:动态切换数据源才可以解决方案4: 让JFinal的ActiveRecord支持多数据源。 http://my.oschina.net/myaniu/blog/185331
下载地址: http://my.oschina.net/myaniu/blog/186596
以上介绍了“Jfinal中怎样配置两个数据库连接”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:/itwd/1201856.html
上一篇: 下一篇:JFinal1.6中怎么切换主数据源?怎么更改“main”,Config?
在http://www.oschina.net/question/中说可以通过
DbKit.setDataSource(DataSource ds)来改变主数据,可是我发现现在DbKit中没有这个方法,在DbKit中的DataSource是存在Config中的,系统好像是在new ActiveRecordPlugin的时候默认将其命名为“main&,我想通过程序添加新的数据源 Config config = new Config(&main&,c3po.getDataSource);
DbKit.addConfig(config);
运行时报空指针异常。
在DbKit.addConfig中
if (configNameToConfig.containsKey(config.getName()))
throw new IllegalArgumentException(&Config already exists: & + config.getName());
原本就有”main”,现在又添加应该是。。。
求解。。。怎么切换数据源?
& & &添加新数据源只需要使用该新数据源作为参数传递给新 new 出来的 ActiveRecordPlugin,然后将不同的Model 映身到不同的 ActiveRecrodPlugin 下面去。
& & 对于 Model 来说数据源切换是全自动的,对于 Db + Record 模式来说,主数据源使用 Db.xxx 方法,其它数据源使用 Db.use(&otherDataSource&).xxx(...) 方法来实现(JFinal 1.8)。
& & 详见 JFinal 手册,在此下载:
--- 共有 1 条评论 ---
谢谢,问题解决了。原来在Db.pro下能做Db的操作,学习了
文档你看了吗?JFinal中的IMainRenderFactory具体怎么用?
最近看 JFinal源码,发现IMainRenderFactory这个java文件,这个接口具体怎么用呢?
& & 简单来说IMainRenderFactory是用来创建Controller.render(String)这个方法调用后的Render对象的。
& & JFinal默认支持在调用Controller.render(String)方法后创建FreeMarkerRender、JspRender、VelocityRender这三类对象,具体创建哪一种对象需要调用contants.setViewType(ViewType)来指定,不指定时默认创建FreeMarkerRender对象。
& & &当以上三类Render不能满足开发者需求时,可借助于IMainRenderFactory来指定创建的Render对象,只需要在JFinalConfig中设置一下:constants.setMainRenderFactory(IMainRenderFactory)。
& & 这类需求是真实存在过的,例如,有个同事基于JFinal针对淘宝与酷迅做过一个机票查询的业务系统,淘宝与酷迅通过http向服务发送请求,服务响应Xml数据。通常的办法是自定义一个XmlRender,然后调用Controller.render(new XmlRender(...))就可以了。但这样做代码过于冗长,开发者希望调用 Controller.render(...)这个方法来实现Xml数据的响应,IMainRenderFactory就可以满足这类需求。
& & &当您需要响应的数据是需要自定义Render,并且需要经常使用这个自定义Render的jf,使用IMainRenderFactory可以让代码更干净,更省。IMainRenderFactory特别适合于响应特定类型数据的服务系统,如Json、Xml等 :)
忘了说具体用法了,具体用法如下:
1:创建自定义的Render,如XmlRender
2:创建IMainRenderFactory实现类,如
public class XmlRenderFactory implements IMainRenderFactory {
public Render getRender(String view) {
return new XmlRender(view);
3:在YourJFinalConfig中配置一下,如:constants.setMainRenderFactory
(new XmlRenderFactory())

我要回帖

更多关于 jfinal confighandler 的文章

 

随机推荐