`
condeywadl
  • 浏览: 78237 次
  • 性别: 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  每个方法都要传呢?我菜鸟级,请大家 讨论下。

相关推荐

    MyLibrary-master.zip

    这些功能通常由SpringMVC控制器处理HTTP请求,并通过Spring的服务层调用MyBatis的DAO层进行数据库操作。 2. **图书借阅与归还**: 这部分涉及到图书库存管理和用户借阅历史的管理。用户可以搜索图书,选择借阅,...

    MyLibrary 我的图书馆

    而“我的图书馆(MyLibrary)”是一款专为Android平台设计的应用,它允许用户轻松地读取XML文件来获取图书信息,并且提供了个性化的功能,如添加和修改个人信息,以及查找本地的图书信息。本文将深入解析这款应用的...

    MyLibrary工具类库

    MyLibrary采用内存缓存、磁盘缓存和远程服务器三层缓存策略,确保图片能够快速高效地展示。当图片请求发出时,MyLibrary会首先检查内存缓存,如果找到则立即显示;若内存中无缓存,再查找磁盘缓存;如果磁盘也未命中...

    图书综合管理系统-mylibrary

    《图书综合管理系统-mylibrary》是一个专门针对图书馆管理而设计的信息系统。这个系统旨在提供全面、高效、便捷的图书管理服务,以满足图书馆日常运营的各种需求。以下是对该系统的详细解析: 一、系统概述 图书...

    mylibrary_tushuguanlixitong_

    读者登录图书管理软件系统进行在线借书、还书,此过程中可以依据书籍的编号和名字查询书籍详细信息,并生成读者的借阅记录供读者查询。管理员登录图书管理软件系统可以进行读者管理、书籍管理、借阅情况查询分析。...

    MyLibrary

    在MyLibrary项目中,CSS被用来设计美观的用户界面,包括颜色方案、字体选择、按钮样式以及图书卡片的布局。通过CSS,开发者可以确保整个图书馆的视觉一致性,提供良好的用户体验。 此外,为了实现交互性,MyLibrary...

    XBMC.MyLibrary-1.3.1.zip_it

    XBMC.MyLibrary-1.3.1.zip 是一个专为XBMC(Xbox Media Center,后更名为Kodi)设计的扩展工具,版本号为1.3.1。这个工具的主要功能是增强用户的媒体库体验,使得用户能够在XBMC平台上浏览和访问更多的电影资源。它...

    mylibrary_master.zip

    "mylibrary_master.zip" 是一个包含Qt图书管理系统的源代码压缩包,主要使用C++语言编写,适合初学者学习Qt GUI(图形用户界面)和线程系统的基础应用。这个项目可能是一个简易的个人图书馆管理系统,用于管理和跟踪...

    MyLibrary:我的图书馆

    【标题】"MyLibrary:我的图书馆" 在IT领域,个人或团队经常开发各种软件或应用程序来满足特定需求。"MyLibrary:我的图书馆"这个项目很可能是一个个人化、自定义化的图书管理软件,它可能旨在帮助用户整理、管理和...

    asp.net 三层架构例子

    ASP.NET三层架构是一种常见的软件设计模式,用于组织和分离应用程序的业务逻辑、数据访问和用户界面层。这种架构模式有助于提高代码的可读性、可维护性和可扩展性,尤其适用于大型复杂项目。 1. **三层架构的概念**...

    The Definitive Guide to MySQL源码(即mylibrary.sql)

    The Definitive Guide to MySQL源码(即mylibrary.sql)

    mylibrary

    关于Laravel Laravel是一个具有表达力,优雅语法的Web应用程序框架。 我们认为,发展必须是一种令人愉快的,富有创造力的经历,才能真正实现。 Laravel减轻了许多Web项目中使用的常见任务,从而减轻了开发过程中的...

    asp三层价构模式 初学者

    ASP.NET的三层架构模式是一种常见的软件设计模式,尤其在Web应用程序开发中被广泛采用。它将应用程序分为三个主要部分:表现层(Presentation Layer)、业务逻辑层(Business Logic Layer)和数据访问层(Data ...

    Mylibrary_usb常用封装_原理图_usb封装图_

    总之,"Mylibrary_usb常用封装_原理图_usb封装图_"这个资源集合了USB接口设计中常用的各种封装和原理图,对于电子工程师来说是一份宝贵的参考资料。使用这个库可以加速设计进程,同时确保设计符合USB标准,从而提高...

    MYLIBRARY图书管理系统.zip

    它由Sun Microsystems(现在是Oracle Corporation)的James Gosling等人在1995年推出,被设计为一种简单、健壮、可移植、多线程、动态的语言。Java的主要特点和优势包括以下几个方面: 跨平台性(Write Once, Run ...

    MyLibrary系统与高校图书馆的个性化服务学习课程.pptx

    MyLibrary系统与高校图书馆的个性化服务学习课程.pptx

    mylibrary-debug.aar

    文件下载,多线程下载。断点下载等简单封装的aar包

    MyLibrary系统与高校图书馆的个性化服务PPT教案.pptx

    【MyLibrary系统与高校图书馆的个性化服务】 在现代信息技术的支持下,高校图书馆的服务模式正在经历深刻的变革,以MyLibrary系统为代表的新型服务系统正逐步引领图书馆的个性化服务创新。本PPT教案主要围绕五个...

Global site tag (gtag.js) - Google Analytics