调用 dao.findById 方法时一直出现空指针异常

参数已经获取到值了,但是finById方法内部一直报错(debug进去看了,table为null 调用get和length造成的),项目其它地方只要用到这个方法也会报空指针问题。拜托大佬提供一下解决方法或思路 谢谢image.png

image.png

java.lang.NullPointerException
	at com.jfinal.plugin.activerecord.Model.findByIdLoadColumns(Model.java:786)
	at com.jfinal.plugin.activerecord.Model.findById(Model.java:747)
	at com.facebook.sz.yjzj.order.service.impl.OrderServiceImpl.createOrderByShopCart(OrderServiceImpl.java:243)
	at com.facebook.sz.yjzj.order.service.impl.OrderServiceImpl.generateOrder(OrderServiceImpl.java:180)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)


Db.findFirst 也会出现空指针的问题

image.png

_MappingKit.mapping 已经加入了

image.png

插件也启动了,调用查询的方法还是会出现空指针的问题

image.png

activeRecord 抛出来的异常

image.png

评论区

超级大富

2020-04-13 15:30

JFinalConfig 中的数据库插件,有进行_MappingKit.mapping吗

LJL2020

2020-04-13 15:35

超级大富

2020-04-13 15:41

plugins.add(druidPlugin);
plugins.add(activeRecordPlugin);
项目启动,控制台有报错?

LJL2020

2020-04-13 15:50

@超级大富 后台启动没有错误, 我不确定我这个 ActiveRecordPlugin有没有启动,如果没有启动成功的应该所有的 dao.finById或者是dao.findFirst等方法都会报错吧?

超级大富

2020-04-13 15:56

你可以断点调试一下,TableBuilder 中的build 方法,看ActiveRecordPlugin 启动过程中是否建立了库表映射

LJL2020

2020-04-13 16:18

@超级大富 是 activeRecord 抛出来的空指针异常,回答不能发图 我修改了提问 把错误发到里面了

超级大富

2020-04-13 16:54

这个空指针是获取config和conn 都为空了。
看了代码,你的DruidPlugin和ActiveRecordPlugin 启动了两次,me.add 会自动启动插件,去掉红框里的start()再试下。

LJL2020

2020-04-13 17:17

@超级大富 去掉也是不行 我之前是去掉的,因为不可以, 后面百度了下看到有这种写法才加上去的。

LJL2020

2020-04-13 19:35

问题调试出来了,是因为我用了分布式引起的, 谢谢你的回复@超级大富

sdaad

2023-03-28 16:57

@LJL2020 分布式该怎么关闭

热门反馈

扫码入社