jfinal2.2配置sqlite的问题
准备给猥琐同学写个图片抓取的程序, 其实也完成了, 现在是想展示,就想到了我们的java-web第一的JFinal ,但有点点问题啦,听我慢慢道来:
sqlite数据库如下:
jfinal如下配置 就是报错,过不去, 不知道怎么回事了, 帮忙看看吧,
public class WebApp extends JFinalConfig { public void configPlugin( Plugins me ) { Prop p = PropKit.use( _CONFIG_ ); C3p0Plugin c3p0 = new C3p0Plugin( p.get( "jdbcUrl" ).trim() , p.get( "user" ) , p.get( "password" ) , "org.sqlite.JDBC" ); ActiveRecordPlugin arp = new ActiveRecordPlugin( "sqlite" , c3p0 ); arp.setShowSql( p.getBoolean( "devMode" , false ) ); arp.setDialect( new Sqlite3Dialect() ); __MappingKit.mapping( arp ); me.add( c3p0 ); me.add( arp ); } }
controller就一句话:
public class JandanController extends Controller { public void index() { List<Meizi> l = Meizi.dao.find( "select * from meizi" ); setAttr( "meizi" , l ); } }
启动后访问页面就有很多错误了,难道是sqlite不对么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
周末花了点时间把这个问题解决了, 虽然最终也没从根本上弄懂是怎么回事,只是简单的解决了;
说起来也算是我自己矫情吧, 弄了一个web工程运行,一个java工程生成jfinal代码且被web工程依赖, 就会出现正文描述的现象, 合成一个eclipise工程就ok了,啥事没有.
我感觉还是工程依赖后web运行前class加载的顺序问题导致的, 不是特别明白.
我用的myeclipise6.5,JDK6,算是比较老的了.
肯定不存在调用过早的情况啦?
我简单调试过, 启动时 DbKit.modelToConfig 在TableBuilder.build()时,填充的有数据,
执行index()里的find()时 DbKit.modelToConfig是空的,导致null pointer ,
jetty重新加载后 DbKit.modelToConfig被填充,是正确的
再执行index()里的find()时 DbKit.modelToConfig就是有数据的了,就正常了.
null pointer 异常很好找原因建议调试一下,可能是使用 model.find 的时机过早,早在 active record plugin 启动之前
随便修改下代码,jetty重新加载下, 打印了以下日志,再开页面就好了, 真神奇啊