新增BasePojo类

为了简化将来需要更多的Pojo(Bean),做个抽象的BasePojo,把共有的属性和方法统一一下.

类名为BasePojo, package自然是net.wendal.nutzbook.bean, Bean的内容如下

  1. package net.wendal.nutzbook.bean;
  2. import java.util.Date;
  3. import org.nutz.dao.entity.annotation.Column;
  4. import org.nutz.json.Json;
  5. import org.nutz.json.JsonFormat;
  6. public abstract class BasePojo {
  7. @Column("ct")
  8. protected Date createTime;
  9. @Column("ut")
  10. protected Date updateTime;
  11. public String toString() {
  12. // 这不是必须的, 只是为了debug的时候方便看
  13. return Json.toJson(this, JsonFormat.compact()));
  14. }
  15. public Date getCreateTime() {
  16. return createTime;
  17. }
  18. public void setCreateTime(Date createTime) {
  19. this.createTime = createTime;
  20. }
  21. public Date getUpdateTime() {
  22. return updateTime;
  23. }
  24. public void setUpdateTime(Date updateTime) {
  25. this.updateTime = updateTime;
  26. }
  27. }

可以看到,这个类带了@Column注解的属性,所以继承这个类的子类的数据库属性均需要标注@Column了.

另外这个类也覆盖了toString方法,默认输出为对象的Json字符串格式

修改User类, 使其继承BasePojo,并删除createTime和updateTime

  1. package net.wendal.nutzbook.bean;
  2. import org.nutz.dao.entity.annotation.Column;
  3. import org.nutz.dao.entity.annotation.Id;
  4. import org.nutz.dao.entity.annotation.Name;
  5. import org.nutz.dao.entity.annotation.Table;
  6. @Table("t_user")
  7. public class User extends BasePojo {
  8. @Id
  9. private int id;
  10. @Name
  11. @Column
  12. private String name;
  13. @Column("passwd")
  14. private String password;
  15. @Column
  16. private String salt;
  17. public int getId() {
  18. return id;
  19. }
  20. public void setId(int id) {
  21. this.id = id;
  22. }
  23. public String getName() {
  24. return name;
  25. }
  26. public void setName(String name) {
  27. this.name = name;
  28. }
  29. public String getPassword() {
  30. return password;
  31. }
  32. public void setPassword(String password) {
  33. this.password = password;
  34. }
  35. public String getSalt() {
  36. return salt;
  37. }
  38. public void setSalt(String salt) {
  39. this.salt = salt;
  40. }
  41. }