概述
早上在使用mybatis做修改操作时候出现了这个异常:
ConversionException :DateConverter does not support default String to ‘Date’ conversion.
因为我的bean类中使用了Date属性
很明显这就是 beanutils 工具类无法将字符串转换为 Date(java.util.Date)
这里采用自己实现的方式,下面是工具类的实现:
//把map中的值注入到对应的JavaBean属性中
public static <T> T copyParamToBean(Map value, T bean){
try {
System.out.println("注入之前" + bean);
ConvertUtils.register(new Converter() {
@Override
public Object convert(Class arg0, Object arg1) {
if(arg1 == null){
return null;
}
if(!(arg1 instanceof String)){
throw new ConversionException("只支持字符串转换!");
}
String str = (String)arg1;
if(str.trim().equals("")) return null;
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
try {
return sd.parse(str);
}catch (ParseException e){
throw new RuntimeException(e);
}
}
}, java.util.Date.class);
/**
* 把所有请求的参数都注入到对象中
*/
BeanUtils.populate(bean, value);
System.out.println("注入之后" + bean);
} catch (Exception e) {
e.printStackTrace();
}
return bean;
}
最后
以上就是寂寞故事为你收集整理的使用MyBatis中出现了ConversionException的解决方法的全部内容,希望文章能够帮你解决使用MyBatis中出现了ConversionException的解决方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复