报错总结
1.The content of elements must consist of well-formed character data or markup
原因:在Mybatis中小于号、大于号不可以直接写。
解决方法:将小于号改为:<;
大于号改为:>
2.ORA-01422:实际返回的行数超出请求的行数 ORA-06512:
原因:sql语句出错,期望返回一条数据,结果符合条件的不止一条
3.Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: org.apache.ibatis.builder.BuilderException: Mapper’s namespace cannot be empty
原因:Mapper.xml文件中的namespace没有写,映射的哪个接口,编译时就会报错
4.Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.xufeng.csdsj.srfx.dao.BBdmMapper.Base_map
原因:字面意思Base_map重复了,也有可能是namespace写错了,没有对应,如一个A.xml,一个B.xml,结果两个xml文件中的namesapce全是映射AMapper文件
5.org.thymeleaf.exceptions.TemplateInputException: Error resolving template [0], template might not exist or might not be accessible by any of the configured Template Resolvers
原因:在controller层请求处理完了返回时,没有使用@RestController或@ResponseBody而返回了非json格式
这种情况下返回的数据thymeleaf模板无法解析,直接报错,本人正式因为这个原因才报错。
解决方案:可以将@Controller换成@RestController,不过需要注意有没有其他的方法返回了html页面,会导致返回的不是页面而是字符串;最好的方法就是在你所请求的方法上面加一个@ResponseBody即可。
6.plsql报错 ORA-00937:不是单组分组函数
可查看:单组分组函数
7.ORA-01810: 格式代码出现两次,ORA-01849: 小时值必须介于 1 和 12 之间
String sql = "update sfsjdatatime set lasttime = to_date('"
+ new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date)
+ "','yyyy-MM-dd HH:mm:ss') where datatype='" + dataType + "'";
这里to_date两个参数,第一个时间参数,第二个时间格式,问题就出现在时间格式上,oracle不区分大小写,这里mm就不正确,需要改为mi。
改完之后又出现一个问题:
ORA-01849: 小时值必须介于 1 和 12 之间
原因:在oracle中时间格式默认小时为12小时制,将HH改为HH24,最终的代码;
String sql = "update sfsjdatatime set lasttime = to_date('"
+ new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date)
+ "','yyyy-MM-dd HH24:mi:ss') where datatype='" + dataType + "'";
8.Non-terminating decimal expansion; no exact representable decimal result.
9.oracle保存报错check constraint (NVPOLICY.RULE_18) violated
10.Error occurred during initialization of VM, Could not reserve enough space for object heap