dnalncjm

常用链接

统计

最新评论

hibernate实体对象数据库生成

首先,我们先要理解一下相关知识点:

1、对象的序列化:Serializable

对象序列化是对象永久化的一种机制,可以把序列化当成一种深度克隆的方法,确切的说应该是对象的序列化,一般程序在运行时,产生对象,这些对象随着程序的停止运行而消失,但如果我们想把某些对象(因为是对象,所以有各自不同的特性)保存下来,在程序终止运行后,这些对象仍然存在,可以在程序再次运行时读取这些对象的值,或者在其他程序中利用这些保存下来的对象。这种情况下就要用到对象的序列化。一般对象序列化后会保存在存储设备(硬盘)上,以文件的形式出现。

2CRUD

       CRUD是增加、读取、更新和删除几个单词的首字母简写 Create,Read,Update,Delete四个单词的缩写,主要被用在描述软件系统中数据库或者持久层的基本操作功能。
(In computing, CRUD is an acronym for create, retrieve, update, and delete. It is used to refer to the basic functions of a database or persistence layer in a software system.)

       在进行Hibernate开发过程中,我们通常会使用DAO模式,有一些通用的数据操作方法,如CRUD,我们通常会将这些方法集中在一个DAO,这样会简便很多。DAO数据访问接口如下:


import java.io.Serializable;
import java.util.Collection;
import java.util.List;
import java.util.Map;

public interface Dao {

  List getObjects(Class clazz);
//返回数据库中与此类对应的表的所有值,即entity类型中的所有信息

  Object getObject(Class clazz, Serializable id);
//返回与此类对应的表主键为id的所有值

  Serializable saveObject(Object o);
//序列化保存对象。

  
void updateObject(Object o);//更新此对象

  
void removeObject(Class clazz, Serializable id);//根据数据库中与此类对应表的主键(id)删除此对象

  
void removeObject(Object o);//删除此对象

  
void removeObjects(Collection objects);

  
/*
   * 根据属性名和属性值查询对象,返回唯一对象
   
*/
  Object findBy(Class clazz, String name, Object value);

  
/*
   * 根据属性名和属性值查询对象,返回所以符合条件的对象
   
*/
  List findAllBy(Class clazz, String name, Object value);

  
/**
   * 根据Map中过滤条件和分页参数查询.
   *
   * 
@param filter   过滤条件.
   * 
@param sortMap  排序条件.
   * 
@param pageNo   当前页码
   * 
@param pageSize 每页显示记录数.
   
*/

  List findAllBy(Class clazz, Map filter, Map sorMap, 
int pageNo, int pageSize);

  
/**
   * 符合filter过滤条件的记录总数
   * 
@param clazz
   * 
@param filter
   * 
@return
   
*/
  
int total(Class clazz, Map filter);
}



posted on 2007-04-22 02:27 易天 阅读(433) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: