今天用了一天Jfinal连接数据库的操作,虽然api很多感觉可以各种姿势操作数据库,但是或许是对数据库的操作完全封装了,导致自己在使用过程中经常出现莫名的问题,比如模型中dao静态对象不允许调用,查询都不行,比如用new User().find(sql)查询报空指针,换Db.find(sql)又可以,总之用起来踩了很多坑还是没搞明白错误所在;还有个问题希望波总解答——我的服务是用jetty启动的,在configPlugin方法中用druidPlugin配置了mariaDB的连接,大概就是这段代码:
new DruidPlugin(PropKit.get("jdbcUrl",""),PropKit.get("username",""), PropKit.get("password",""));
ActiveRecordPlugin arp = new ActiveRecordPlugin(dp);
me.add(dp);
me.add(arp);
。。。
调试的原因jetty频繁的启动又关闭,最后导致再启动jetty时数据库报java.sql.SQLException: Too many connections错误。虽然知道连接被占满,但是这是通过插件建立的连接,我自己并没有获取到connection,那我怎么去主动释放数据库连接呢?谢谢
项目:JFinal
arp.addMapping("user", User.class);
当然,这个映射在 jfinal 中是可以用生成器自动搞定的,下载首页的 jfinal demo,里头有例子,看一下 _MappingKit.java 这个类
如果希望 jetty 不要频繁启动又关闭,可以将启动参数中的最后一个参数 5 改为 0