今天遇见了一个问题,困扰了一段时间,试了几种方法,但是还是解决不了,主要的精力还是放在了mybatis插入控制时的问题。但是对于空指针异常有多重问题引起。下面来说明一下遇到的问题:
前端传过来的值为{pId: null},后端获取值是使用的是params.get()的方法,直接上代码

data: {
		items=[
			{cardName=k111, type=3, typeText=电原理图, figNum1=ZY0, figNum2=351, figNum3=003, 					   figNum4=null, applicant=付高峰}
		], 
		pName=B1, 
		pId=null, 
		id=null
	}
//一般情况下使用这种方式进行转换
String pId = params.get("pId").toString();
-->优先使用String.valueOf()方法代替toString()
	当程序代码需要对象的字符串表示形式时,请避免使用该对象的toString方法。
	如果你的对象的引用等于null,NullPointerException则会抛出,
	使用静态String.valueOf方法,该方法不会抛出任何异常并打印"null"
	//使用这种方式则可以避免出现空指针异常
	String pId = String.valueOf(params.get("pId"));

此外,使用mybatis插入空值时出现异常,这个解决方法是将 jdbcType=VARCHAR加上,

#{pId, jdbcType=VARCHAR}.

最后,在介绍几种空指针异常的问题,请参详如下网址:https://blog.csdn.net/qq_44543508/article/details/94589868

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐