从零开始学JDBC--1.15 ConvertUtils组件的用法
2016-11-02 21:43
302 查看
ConvertUtils组件是用来干嘛的?
为下面的各种引用类型提供快捷的转换方法:
项目中我们经常会碰到将String类型转换为日期类型,需要写一些工具类专门去实现,而且相当繁琐
不过,ConvertUtils组件的出现,为我们提供了更快捷更省心的方法
比如:我们需要对一个人的生日(Date类型)进行赋值,输入经常会是String类型:
我们先模拟一个注册表单:
创建一个新的对象:
封装:
问题就出在封装这一步,birth是Date类型的,按理说,应该new一个SimpleDateFormat
ConvertUtils实现了一个register()方法,可以通过注册类型转换的过程,将需要转换的类型转换成对应的方法
在向对象封装数据之前,加入这一段注册代码:
运行结果(重写了实体类的toString()方法):
可是。。。看起来还是那么多代码,ConvertUtils为常用的类型转换都提供了方法:
注意:Date的String格式需要写成“yyyy-MM-dd”或者“yyyy/MM/dd”等本地的形式,否则转换不成功!
为下面的各种引用类型提供快捷的转换方法:
项目中我们经常会碰到将String类型转换为日期类型,需要写一些工具类专门去实现,而且相当繁琐
不过,ConvertUtils组件的出现,为我们提供了更快捷更省心的方法
比如:我们需要对一个人的生日(Date类型)进行赋值,输入经常会是String类型:
我们先模拟一个注册表单:
//模拟表单数据 String name = "jack"; String age = "age"; String birth = "1991.11.13";
创建一个新的对象:
// 创建对象 Admin admin = new Admin();
封装:
/* * 把表单提交的数据封装到对象中 */ BeanUtils.copyProperty(admin, "userName", name); BeanUtils.copyProperty(admin, "age", age); BeanUtils.copyProperty(admin, "birth", birth); /* * 打印所有属性值 */ System.out.println(admin);
问题就出在封装这一步,birth是Date类型的,按理说,应该new一个SimpleDateFormat
ConvertUtils实现了一个register()方法,可以通过注册类型转换的过程,将需要转换的类型转换成对应的方法
在向对象封装数据之前,加入这一段注册代码:
// 注册日期类型转换器 ConvertUtils.register(new Converter() { @Override public Object convert(Class type, Object value) { if(type != Date.class){ return null; } if(value ==null || "".equals(value.toString().trim())){ return null; } try { SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd"); return sdf.parse(value.toString()); } catch (ParseException e) { throw new RuntimeException(e); } } }, Date.class);
运行结果(重写了实体类的toString()方法):
Admin [userName=jack, age=0, birth=Wed Nov 13 00:00:00 CST 1991]
可是。。。看起来还是那么多代码,ConvertUtils为常用的类型转换都提供了方法:
// 注册本地日期类型转换器 ConvertUtils.register(new DateLocaleConverter(),Date.class);
注意:Date的String格式需要写成“yyyy-MM-dd”或者“yyyy/MM/dd”等本地的形式,否则转换不成功!
相关文章推荐
- 从零开始学JDBC--1.14 BeanUtils组件的用法
- 第19天(就业班) BeanUtils组件用法及类型转换器、DbUtils组件、jdbc优化
- 从零开始学JDBC--1.17 使用DbUtils组件实现CRUD和结果集快速封装
- 从零开始学JDBC--1.16 BeanUtils组件在Web项目中的应用
- 让窗体飘动起来--C#中Timer组件用法
- 转两篇关于jdbc的用法的文章
- filesystemobject组件的用法示例
- 让窗体飘动起来--C#中Timer组件用法
- 各家JDBC driver的现行版本及使用用法
- 各家JDBC driver的现行版本及使用用法
- C#编程技巧集.让窗体飘动起来.C#中Timer组件用法
- 用组件beanutils,dbutils简化JDBC操作
- C#中Timer组件用法
- Java技术回顾之JDBC:基本用法
- 从零开始编写一个flex组件。FLEX自定义控件。
- 用组件beanutils简化JDBC操作
- filesystemobject组件的用法示例
- asp.net中上传组件的用法
- C#中Timer组件用法
- ASPUpload文件上传组件的用法