数据库数据(map)封装到对象中的工具类

为了简化代码,需要用到两个包

beanutils需要依赖logging所以两个都导入

 

工具类

package com.DC.spring.demo1;

import java.util.HashMap;
import java.util.Map;


import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.beanutils.ConvertUtils;
public class Utils {
	
	@SuppressWarnings("rawtypes")
	public static <T> T toBean(Map map, Class<T> clazz) {
		
		try {
			// 通过反射获取对象实例
			T bean = clazz.newInstance();
                        //转换日期类型
                        ConvertUtils.register(new DateConverter(), java.util.Date.class);
			BeanUtils.populate(bean, map);
			
			return bean;
		} catch (Exception e) {
			throw new RuntimeException(e);
		} 
	}
	
	public static void main(String[] args) {
		Map<String,Object> map = new HashMap<String, Object>();
		map.put("sid", "15");
		map.put("sname", "王刚");
		map.put("ssex", "男");
		map.put("score", 87);
		
		User user = toBean(map, User.class);
		System.out.println(user);
	}
	
}

测试类

package com.DC.spring.demo1;

public class User {
	private String sid;
	private String sname;
	private String ssex;
	private int score;
	public String getSid() {
		return sid;
	}
	public void setSid(String sid) {
		this.sid = sid;
	}
	public String getSname() {
		return sname;
	}
	public void setSname(String sname) {
		this.sname = sname;
	}
	public String getSsex() {
		return ssex;
	}
	public void setSsex(String ssex) {
		this.ssex = ssex;
	}
	public int getScore() {
		return score;
	}
	public void setScore(int score) {
		this.score = score;
	}
	@Override
	public String toString() {
		return "User [sid=" + sid + ", sname=" + sname + ", ssex=" + ssex
				+ ", score=" + score + "]";
	}
}

配合QueryRunner的query方法,与ScannerHandler(),BeanHandler(),BeanListHandler(),MapListHandler()等,可以实现数据库数据对对象数据的快速封装,简化代码

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值