jfinal2.2配置sqlite的问题

发布于 2021-11-30 19:04:40 字数 1256 浏览 799 评论 4

准备给猥琐同学写个图片抓取的程序, 其实也完成了, 现在是想展示,就想到了我们的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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

妖妓 2021-12-01 13:48:44

周末花了点时间把这个问题解决了, 虽然最终也没从根本上弄懂是怎么回事,只是简单的解决了;

说起来也算是我自己矫情吧, 弄了一个web工程运行,一个java工程生成jfinal代码且被web工程依赖, 就会出现正文描述的现象, 合成一个eclipise工程就ok了,啥事没有.

我感觉还是工程依赖后web运行前class加载的顺序问题导致的, 不是特别明白.

我用的myeclipise6.5,JDK6,算是比较老的了.

白龙吟 2021-12-01 04:03:15

肯定不存在调用过早的情况啦?   

我简单调试过, 启动时 DbKit.modelToConfig 在TableBuilder.build()时,填充的有数据, 

执行index()里的find()时 DbKit.modelToConfig是空的,导致null pointer ,

jetty重新加载后 DbKit.modelToConfig被填充,是正确的

再执行index()里的find()时 DbKit.modelToConfig就是有数据的了,就正常了. 

贱贱哒 2021-12-01 03:49:59

null pointer 异常很好找原因建议调试一下,可能是使用 model.find 的时机过早,早在 active record plugin 启动之前

明媚如初 2021-11-30 20:53:55

随便修改下代码,jetty重新加载下, 打印了以下日志,再开页面就好了, 真神奇啊

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文