Java常见报错信息及解决方式

1. com.alibaba.fastjson.JSONException: syntax error, expect {, actual int, pos 1, json : 0

com.alibaba.fastjson.JSONException: syntax error, expect {, actual int, pos 1, json : 0
	at com.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:197)
	at com.alibaba.fastjson.parser.deserializer.MapDeserializer.deserialze(MapDeserializer.java:64)
	at com.alibaba.fastjson.parser.deserializer.MapDeserializer.deserialze(MapDeserializer.java:41)
	at com.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:661)
	at com.alibaba.fastjson.JSON.parseObject(JSON.java:365)
	at com.alibaba.fastjson.JSON.parseObject(JSON.java:269)
	at shijiwxy.web.controller.SurveyController.getSurveyDetail(SurveyController.java:815)
	at shijiwxy.web.controller.SurveyController$$FastClassBySpringCGLIB$$49418525.invoke(<generated>)
	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:738)

报错原因是:原因是报错行传入的json是无效的,或者说不是json,自行检查json串即可。

2. Invalid bound statement (not found),我的问题是MyBatis操作数据库的时候访问报错,原因是MyBatis中的*Mapper.xml文件没有编译进入target文件中。解决方案如下:

(1)常规解决方案(①和②都可以)

         ① 把*Mapper.xml文件放到resource文件夹下管理

         ② pom配置一下编译xml文件

	<resource>
    		<directory>src/main/java</directory>
    		<includes>
        		<include>**/*.xml</include>
    		</includes>
	</resource>

(2)我的解决方式,我是idea,后来发现是resource写错了,后来改成resources就可以了(应该是项目中已经提提前配置好resources了,所以必须是这个名字)。另外文件夹右击--->Mark Directory as --->Test Resources Root即可。

Java常见报错信息及解决方式