nhmicro框架Map与bean映射(orm机制)

来源:互联网 发布:开淘宝天猫要多少钱 编辑:程序博客网 时间:2024/06/15 14:21

nhmicro框架中dao层操作为了保证灵活性和可扩展性,输入输出均为map,但开发人员比较熟悉使用bean作为dao层输入输出。使用micro-orm.jar中的MicroBeanMapUtil和MicroMappingAnno实现map与bean相互映射。维持灵活性的同时,也向开发人员编程习惯靠拢,并间接实现了编译时字段约束和检查。

 

Bean中使用@MicroMappingAnno说明map对应的key

public class TestBean {

 

@MicroMappingAnno(name="user_id")  

private IntegeruserId;

 

@MicroMappingAnno(name="user_name")

private StringuserName;

 

@MicroMappingAnno(name="user_age"

private IntegeruserAge;

 

public Integer getUserId() {

    return userId;

}

public void setUserId(Integer userId) {

    this.userId = userId;

}

public String getUserName() {

    return userName;

}

public void setUserName(String userName) {

    this.userName = userName;

}

public Integer getUserAge() {

    return userAge;

}

public void setUserAge(Integer userAge) {

    this.userAge = userAge;

}

 

 

}

 

代码中使用MicroBeanMapUtil.beanToMap将bean转为map,使用MicroBeanMapUtil.mapToBean将map转为bean,注意map中的值均为string类型。

    public static void main(String[] args)throws Exception {

        TestBean testBean=new TestBean();

        testBean.setUserAge(20);

        testBean.setUserId(123);

        testBean.setUserName("tom");

        Map beanMap=MicroBeanMapUtil.beanToMap(testBean);

        System.out.println("bean to map="+beanMap);

       

        Map paramMap=newHashMap();

        paramMap.put("user_id","678");

        paramMap.put("user_name","jerry");

        paramMap.put("user_age","33");

        TestBean mapBean=(TestBean) MicroBeanMapUtil.mapToBean(paramMap, TestBean.class);

        System.out.println("map to bean="+mapBean);

    }