com.jfinal.plugin.activerecord.Model.findFirstByCache 空指针异常

各位小伙伴,我用ehcache做查询缓存,以下是调用方法:

//查询用户信息
 public User findByIdInCache(String id) {
  String sqlString = "SELECT tu.* FROM t_user tu WHERE tu.id = ? " ;
  return this.findFirstByCache(DicUtil.CACHE_USER_INFO, id, sqlString, id);
 }

但是在Model.class源码中报错

public M findFirstByCache(String cacheName, Object key, String sql, Object... paras) {
  ICache cache = _getConfig().getCache();    //这一行报空指针错误
  M result = cache.get(cacheName, key);
  if (result == null) {
   result = findFirst(sql, paras);
   cache.put(cacheName, key, result);
  }
  return result;
 }

报错截图如下:

image.png

附上我的项目中的ehcache,请波总和各位大神帮忙看看问题在哪!谢谢!

1、ehcache.xml文件的位置:

image.png

2、config中的插件配置:

image.png

3、pom文件中引入的jar包:

image.png

这样运行起来一直是报错findFirstByCache 空指针异常,请问各位有何高见,请不吝赐教,谢谢!


评论区

Horace_1

2018-09-19 18:49

忘了补充了,我的缓存名叫“CACHE_USER_INFO”,这个在ehcache.xml文件已经做好配置了,这个是没问题的。就是这个空指针不知道怎么回事,都说波总回复很快,辛苦波总有空时候帮我看下了,不胜感激!!!

JFinal

2018-09-19 20:26

看一下 _MappingKit 中是否映射了 User 这个类,另一个原因看一看 ActiveRecordPlugin 有没有正确启动

单步调试一下

Horace_1

2018-09-20 12:32

@JFinal 找到问题了,我的ActiveRecordPlugin 有问题,谢谢波总出手相助,赞赞赞

时光与召

2019-06-19 09:51

Oracle数据库的话,_MappingKit 表名和字段名应分大小写吗?

热门反馈

扫码入社