BatchUpdateException 年份超出范围 异常处理

**

BatchUpdateException 年份超出范围 异常处理

**

之前工作中有见到下图中出现的异常:
BatchUpdateException 年份超出范围
当时用的数据库是oracle,我就查看了数据库最大年份,发现是9999-12-31,超过该年份后就会报上述错误,同时工作中还用了date工具(自己公司很早之前封装的)会将日期自动调整,例如,传入的数据是9999-12-35(格式正确,但日期错误)会调整为10000-01-04(格式正确期后延),也会造成这种情况。

解决方案:

1、写判断日期的代码

//判断传入日期不为空
if(StringUtils.isNotEmpty(传入日期)){
	//定义最大日期
	String endTime = "9999-12-31";
	//转换日期格式
	SimpleDateFormat endTimesp = new SimpleDateFormat("yyyy-MM-dd");
	//变为date类型
	Date dateEndTime = endTimesp.parse(endTime);
		//判断日期在最大日期之后
		if (传入日期.after(new DateTime(dateEndTime))) {
		给出错误提示信息
		}
	}

2,看项目要求,有没有自己项目的date工具类的转换之类的需求,如果有就转换完了再传入日期!

**总结:**传入日期超限导致报错,要做判断后再传茹数据库!

你可能感兴趣的:(数据库)