POJO: Plain Ordinary Java Object
public class BasicInfoVo {
private String orderId;
private Integer uid;
public String getOrderId() {
return orderId;
}
public void setOrderId(String orderId) {
this.orderId = orderId;
}
public Integer getUid() {
return uid;
}
public void setUid(Integer uid) {
this.uid = uid;
}}
纯的传统意义上的 Java 对象,就是说在一些表关系映射工具中,能够做到维护数据库表记录的持久化对象完全是一个符合 Java Bean 规范的纯 Java 对象,没有增加别的属性和方法。也可以理解成最基本的 Java Bean,只有属性字段及 setter 和 getter 方法。
JavaBean:
JavaBean 是一种JAVA语言写成的可重用组件。JavaBean符合一定规范编写的Java类,不是一种技术,而是一种规范。大家针对这种规范,总结了很多开发技巧、工具函数。符合这种规范的类,可以被其它的程序员或者框架使用。它的方法命名,构造及行为必须符合特定的约定:
- 所有属性为private。
- 这个类必须有一个公共的缺省构造函数。即是提供无参数的构造器。
- 这个类的属性使用getter和setter来访问,其他方法遵从标准命名规范。
- 这个类应是可序列化的。实现serializable接口。
public class PersonBean implements java.io.Serializable {
// Property <code>name</code> (note capitalization) readable/writable.
private String name = null;
private boolean deceased = false;
/** No-arg constructor (takes no arguments). */
public PersonBean() {}
// Getter for property <code>name</code>
public String getName() {
return name;
}
// Setter for property <code>name</code>.
public void setName(final String value) {
name = value;
}
// Getter for property "deceased" Different syntax for a boolean field (is vs. get)
public boolean isDeceased() {
return deceased;
}
// Setter for property <code>deceased</code>.
public void setDeceased(final boolean value) {
deceased = value;
}
}
DO: Domain Object
DAO:(Data Access Objects) ,数据访问对象接口
DAO 是 DataAccessObject 的缩写,简单的说,DAO是工作在持久层的,主要负责从底层存储中写入/读取数据,对业务层来说只需要知道DAO的接口即可完成CRUD操作,而不必关心底层的数据存储方式。
public interface Dao <T> {
/** Persist the newInstance object into database */
int create(T newInstance);
/** Retrieve an object that was previously persisted to the database using
* the indicated id as primary key
*/
T read(int id);
/** Save changes made to a persistent object. */
void update(T transientObject);
/** Remove an object from persistent storage in the database */
void delete(T persistentObject);
}