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);
}
- nhmicro框架Map与bean映射(orm机制)
- ORM中对象与数据库表之间的映射机制
- ORM 系列:一个个人ORM映射框架
- NFramework开源AOP框架ORM地完成机制与运用
- android orm映射框架(类似hibernate)基本使用
- android orm映射框架(类似hibernate)基本使用
- Hibernate 框架对象/关系(ORM)映射文件
- Java注解初体验(简单ORM映射框架)
- 使用内省机制实现Map与Bean之间的转换
- 追求“简约不简单”的ORM映射框架
- 追求“简约不简单”的ORM映射框架
- 追求“简约不简单”的ORM映射框架
- 追求“简约不简单”的ORM映射框架
- 追求“简约不简单”的ORM映射框架
- 追求“简约不简单”的ORM映射框架
- 追求“简约不简单”的ORM映射框架
- 追求“简约不简单”的ORM映射框架
- 追求“简约不简单”的ORM映射框架
- linux top 命令
- java根据URL获取json对象
- ideEA开发。javaweb
- java构造代码块
- linux平台下android开发常用指令总结:个人笔记
- nhmicro框架Map与bean映射(orm机制)
- Material-Animations(四)--(Bonus) Shared elements + Circular Reveal
- 性能BUG检出、定位实例
- ubuntu 使用apt-get install 安装php5.6--php7
- 微信开发笔记
- 欢迎使用CSDN-markdown编辑器
- 自定义类型:结构体,枚举,联合体
- 基本图表
- 国内yum源的安装(163,阿里云,epel)