EWeb4j-1.b.6.5 新的特性介绍—orm pojo篇

EWeb4j目前最新版本是1.b.6.4
下载地址:http://code.google.com/p/eweb4j/downloads/list

下一个微版本1.b.6.5将会重点放在如何让各个模块的代码更加简洁。

约定优于配置,将是整洁之道的最佳实践。因此,EWeb4j框架也会采取这种方法。

来看看以下这个pojo类:


package test.po;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.cfuture08.eweb4j.orm.config.annotation.ManyMany;
import com.cfuture08.eweb4j.orm.config.annotation.One;

/**
* just a po
* 约定:
* 1类名以PO、POJO、Entity、Model结尾,取其前面的单词作为数据库表名。
* 例如类名PetPO,那么映射到的数据表名为Pet
* 2属性名默认映射到数据表字段名。
* 但是要注意,被@ManyMany、@Many、@One其中一个注解并且没有@Column注解的属性,
* 是不会映射到数据库表字段中去的。
* 3.ID属性,类属性名为id(忽略大小写)自动认为它是数据表的自增长字段并且是主键。
*
* 上一个版本中的pojo中,
* 类名上面会有@Table注解,
* 属性名上面会有@Column注解
* id属性上会有@Id注解。
* 代码看起来会很不简洁。
* 很明显,这个版本看起来十分简洁。
*
* @author weiwei
*
*/
public class PetPO {
private Integer id = 0;
private String name;
private String type;
private Date birthday;
private int age;
private Date createTime;
@One(column = "masterId")
private Master master;
@ManyMany(target = Master.class, relTable = "t_masterpetrel", from = "petId", to = "masterId")
private List<Master> masters = new ArrayList<Master>();

//getter&setter

public String toString() {
return "[Pet id:" + this.id + ", name:" + this.name + ", age:"
+ this.age + ", type:" + this.type + ", birthday:"
+ this.birthday + ", createTime:" + this.createTime + "]";
}
}


对比下上一个版本的写法:

package test.po;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.cfuture08.eweb4j.orm.config.annotation.Column;
import com.cfuture08.eweb4j.orm.config.annotation.Id;
import com.cfuture08.eweb4j.orm.config.annotation.ManyMany;
import com.cfuture08.eweb4j.orm.config.annotation.One;
import com.cfuture08.eweb4j.orm.config.annotation.Table;

/**
* just a po
*
* @author weiwei
*
*/
@Table("t_Pet")
public class Pet {
@Id
@Column
private Integer id = 0;
@Column
private String name;
@Column
private String type;
private Date birthday;
@Column
private int age;
@One(column="masterId")
private Master master;
@ManyMany(target = Master.class, relTable = "t_masterpetrel", from = "petId", to = "masterId")
private List<Master> masters = new ArrayList<Master>();

//getter&setter
public String toString() {
return "[Pet id:" + this.id + ", name:" + this.name + ", age:"
+ this.age + ", type:" + this.type + ", birthday:"
+ this.birthday + ", createTime:" + this.createTime + "]";

}



对比之后,代码确实是简洁了不少,这就是约定优于配置的巨大好处了!

重新总结下,EWeb4j-1.b.6.5中,对于ORM的POJO来说,有以下约定:
1.类名,以PO|POJO|Entity|Model结尾,前段部分映射到表明,例如PetPO—>Pet
2.属性名,默认直接映射表字段名,被@Many|@ManyMany|@One注解,且没有@Column注解的属性不会映射到表字段
3.ID属性,名字为”id“(忽略大小写)的话,表示该属性映射到的字段是自增长的且是表主键。

待续...
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值