`
condeywadl
  • 浏览: 76432 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

MyLibrary Dao层设计

阅读更多

  因为使用了hibernate 所以有关dao层非常简单 下面贴出dao层的所有接口 暂时以我的思想,这些接口完全可以支持业务层在目前所有功能上的实现,如果有新的实现,可以再加嘛^-^

 

BookDao:

/**
 * 控制图书(book)表接口
 * @author ConDey
 *
 */
public interface BookDao {
	
	/**
	 * 增加新图书信息 若无分类信息 则强制sortId=1(未分类)
	 * @param newBook 新图书
	 * @return true  增加成功
	 *          fasle 增加失败
	 */
	public boolean addBook(Session session,Book newBook);
	
	
	/**
	 * 删除图书信息 若此图书已借阅 则强制默认此图书已归还
	 * @param deleteBook 新图书
	 * @return
	 */
	public boolean deleteBook(Session session,Book deleteBook);
	
	
	/**
	 * 根据图书ID获取读书信息
	 * @param findBook 图书信息
	 * @return Book 查找图书
	 */
	public Book getIDBookInfo(Session session,Book findBook);
	
	
	/**
	 * 根据图书部分信息获取图书列表信息(分类ID 图书名 借阅者ID)(支持复合搜索)
	 * @param findBook 图书信息
	 * @return Book 查找图书列表
	 */
	public List<Book> getBooksInfo(Session session,Book findBook,int pageNumber,int pageSize);
	
	
	/**
	 * 更新图书信息 若更新所有者信息 则相应User信息更新 在UserDao中实现
	 * @param updateBook
	 * @return
	 */
	public boolean updateBook(Session session,Book updateBook);

 

SortDao:

/**
 * 控制分类(sort)表接口
 * @author ConDey
 *
 */
public interface SortDao {
	
	/**
	 * 增加新分类
	 * @param newSort 新分类
	 * @return true  增加成功
	 *          false 增加失败
	 */
	public boolean addSort(Session session,Sort newSort);
	
	
	/**
	 * 删除分类 (所有直接子分类将上升一级 上升到此分类级别)
	 *          (当前分类下的所有商品都将归为未分类 在BookDao中实现)
	 * @param deleteSort 待删除的分类
	 * @return  true  删除失败
	 *           false 删除成功
	 */
	public boolean deleteSort(Session session,Sort deleteSort);
	
	
	
	/**
	 * 获得当前分类的所有直接子分类信息 (查找一级分类 可设置此父分类为0)
	 * @param findSort 当前分类
	 * @return List 所有子分类信息
	 */
	public List<Sort> getSonSort(Session session,Sort findSort,int pageNumber,int pageSize);
	
	
	/**
	 * 根据sortName获取sort信息
	 * @param findSort 当前分类
	 * @return Sort 分类信息
	 */
	public Sort getSort(Session session,Sort findSort);
	
	
	/**
	 * 更新分类信息(以sortId为唯一标识)
	 * @param updateSort 待更新的信息
	 * @return true  更新成功
	 *          false 更新失败
	 */
	public boolean updateSort(Session session,Sort updateSort);

}

 

UserDao:

/**
 * 控制用户(user)表接口
 * @author ConDey
 *
 */
public interface UserDao {
	
	/**
	 * 增加新用户
	 * @param newUser 新用户
	 * @return true  增加成功
	 *          false 增加失败
	 */
	public boolean addUser(Session session,User newUser);
	
	/**
	 * 删除用户所有信息 删除用户信息后 (所有用户所借图书将会被强制表示为已归还 在BookDao中实现)
	 * @param deleteUser 待删除的用户
	 * @return true  删除成功
	 *          false 删除失败
	 */
	public boolean deleteUser(Session session,User deleteUser);
	
	/**
	 * 根据用户名或者图书信息 查找用户全部信息
	 * @param findUser 待查找用户
	 * @return user 用户全部信息 (null查找失败)
	 */
	public User getUserInfo(Session session,User findUser);
	
	
	/**
	 * 获取所有用户信息(包括管理员)
	 * @return  List<User> 所有用户列表
	 */
	public List<User> getAllUserInfo(Session session,int pageNumber,int pageSize);
	
	
	/**
	 * 获取所有管理员信息
	 * @return
	 */
	public List<User> getAllManageInfo(Session session,int pageNumber,int pageSize);
	
	/**
	 * 更新用户基本信息(密码,电子邮件)
	 * @param updateUser 待更新的用户信息
	 * @return true  更新成功
	 *          false 更新失败
	 */
	public boolean updateUserInfo(Session session,User updateUser);
	
}

 感觉里面最困难的也就是public List<Book> getBooksInfo(Session session,Book findBook,int pageNumber,int pageSize); 另外 我还想实现模糊搜索,这个接口以后再补充~~

分享到:
评论
2 楼 condeywadl 2011-11-30  
diaoweili 写道
Session  每个方法都要传呢?我菜鸟级,请大家 讨论下。

这是我几百年前写的东西了..现在一看惨不忍睹 请无视
1 楼 diaoweili 2011-11-28  
Session  每个方法都要传呢?我菜鸟级,请大家 讨论下。

相关推荐

Global site tag (gtag.js) - Google Analytics