标准demo:
1CommonUtils
CommonUtils类就两个方法:
lString uuid():生成长度32的随机字符,通常用来做实体类的ID。底层使用了UUID类完成;
toBean(Map, Class<T>):把Map转换成指定类型的Bean对象。通常用来获取表单数据(request.getParameterMap())封装到JavaBean中,底层使用了common-beanutils。注意,本方法要求map中键的名称要与Bean的属性名称相同才能完成映射,否则不能完成映射。
/** * 随机生成32位长的字符串,通常用来做实体类的ID */ @Test public void testUuid() { String s = CommonUtils.uuid();//生成随机32位长的字符串 System.out.println(s); } /** * 把Map类型映射成Bean类型。 * 要求map中键的名称与Person类的属性名称相同。 * 即map的key分别为:pid、name、age、birthday,person的属性名称也是pid、name、age、birthday */ @Test public void testToBean() { Map<String,String> map = new HashMap<String,String>(); /* * map的key:pid、age、birthday、myname * person的属性:pid、age、birthday、name * map中没有名为name的键值,而多出一个名为myname的键值,所以映射后的person对象的name属性值为null。 * map中的age和birthday都是字符串类型,而person的age是int类型、birthday是Date类型,但toBean()方法会自动对Map中值进行类型转换。 */ map.put("pid", CommonUtils.uuid()); map.put("age", "23"); map.put("birthday", "2014-01-30"); map.put("myname", "张三"); Person p = CommonUtils.toBean(map, Person.class); System.out.println(p); } |
1、三个需要的jar
2、测试代码
package cn.gaozhen.test;
import static org.junit.Assert.*;
import java.util.HashMap;
import java.util.Map;
import org.junit.Test;
import cn.itcast.commons.CommonUtils;
public class CommonUtilsTest {
/*
* 测试一个uuid()返回一个随机的32长的字符串
* 发现错误:出现找不到的类
* commonutils类依赖的jar:commons-beanutils
*commons-beanutils 依赖 commons-logging.jar
*简单的说一下用途:
*1、用来做id,数据库表中的主键不能重复,就是永远不重复的
*2、激活码也是不能重复的,也可以用它
*/
@Test
public void testUuid() {
String s=CommonUtils.uuid();
System.out.println("uuid:"+s);
}
/*
* 作用:把一个map中数据封装到javabean中
* 要求:
* 1.要求map中的key名称中javabean中属性名称相同
*
*
*1、map: 对于一个map{pid=123,pname=zhangsan,age=23}就是一堆key value对
*
*2、class Person{
*pid
*pname
*age
*}
*/
@Test
public void testToBean()
{
/*
* 1、创建map
*/
Map<String, Object>map=new HashMap<String, Object>();
map.put("pid", "123");
map.put("pname", "张三");
map.put("age", 23);
map.put("xxx", "xxxx");
map.put("sex","男");
//通过map的数据来创建Person类型的javabean对象
Person p=CommonUtils.toBean(map, Person.class);
System.out.println(p);
}
}
Person类:
package cn.gaozhen.test;
public class Person {
private String pid;
private String pname;
private int age;
//新加了一个属性
private String sex;
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
@Override
public String toString() {
return "Person [pid=" + pid + ", pname=" + pname + ", age=" + age
+ ", sex=" + sex + "]";
}
public String getPid() {
return pid;
}
public void setPid(String pid) {
this.pid = pid;
}
public String getPname() {
return pname;
}
public void setPname(String pname) {
this.pname = pname;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}