我们在使用beanutils.populate()封装参数时,如果封装的字符串是空,在转换成date时会出现以上异常,此时可以在工具类中添加静态代码块即可解决:注意导入beanutils 包
BeanUtils.populate()空字符串转换日期的解决办法工具类解决此问题:
import com.mchange.v2.c3p0.ComboPooledDataSource;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.beanutils.ConvertUtils;
import org.apache.commons.beanutils.converters.SqlDateConverter;

import javax.sql.DataSource;
import java.util.Map;

public class JdbcUtil {
//读取C3P0配置文件
private static DataSource dataSource = new ComboPooledDataSource();

public static DataSource getDataSource() {//得到c3p0配置信息
return dataSource;
}

//处理时间日期的处理
static {
ConvertUtils.register(new SqlDateConverter(null), java.sql.Date.class);
ConvertUtils.register(new SqlDateConverter(null), java.util.Date.class);

}

//将提交的参数map封装进bean类中.
public static T mapToBean(Class c, Map map) {
try {
T t = c.newInstance();
BeanUtils.populate(t, map);
return t;
} catch (Exception e) {
throw new RuntimeException(e);
}
}

}

如有不足请多多指正

相关文章:

  • 2019-03-16
  • 2022-12-23
  • 2021-08-02
  • 2022-02-08
猜你喜欢
  • 2021-10-07
  • 2021-11-18
  • 2022-02-08
  • 2022-12-23
相关资源
相似解决方案