Java小工具 CommonUtils 相关介绍

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类的属性名称相同。

 * mapkey分别为:pidnameagebirthdayperson的属性名称也是pidnameagebirthday

 */

@Test

public void testToBean() {

Map<String,String> map = new HashMap<String,String>();

/*

 * mapkeypidagebirthdaymyname

 * person的属性:pidagebirthdayname

 * map中没有名为name的键值,而多出一个名为myname的键值,所以映射后的person对象的name属性值为null

 * map中的agebirthday都是字符串类型,而personageint类型、birthdayDate类型,但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;
}
}

原文地址: https://blog.csdn.net/gz153016/article/details/51581261
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值