因为使用了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); 另外 我还想实现模糊搜索,这个接口以后再补充~~
分享到:
相关推荐
这些功能通常由SpringMVC控制器处理HTTP请求,并通过Spring的服务层调用MyBatis的DAO层进行数据库操作。 2. **图书借阅与归还**: 这部分涉及到图书库存管理和用户借阅历史的管理。用户可以搜索图书,选择借阅,...
而“我的图书馆(MyLibrary)”是一款专为Android平台设计的应用,它允许用户轻松地读取XML文件来获取图书信息,并且提供了个性化的功能,如添加和修改个人信息,以及查找本地的图书信息。本文将深入解析这款应用的...
MyLibrary采用内存缓存、磁盘缓存和远程服务器三层缓存策略,确保图片能够快速高效地展示。当图片请求发出时,MyLibrary会首先检查内存缓存,如果找到则立即显示;若内存中无缓存,再查找磁盘缓存;如果磁盘也未命中...
《图书综合管理系统-mylibrary》是一个专门针对图书馆管理而设计的信息系统。这个系统旨在提供全面、高效、便捷的图书管理服务,以满足图书馆日常运营的各种需求。以下是对该系统的详细解析: 一、系统概述 图书...
读者登录图书管理软件系统进行在线借书、还书,此过程中可以依据书籍的编号和名字查询书籍详细信息,并生成读者的借阅记录供读者查询。管理员登录图书管理软件系统可以进行读者管理、书籍管理、借阅情况查询分析。...
在MyLibrary项目中,CSS被用来设计美观的用户界面,包括颜色方案、字体选择、按钮样式以及图书卡片的布局。通过CSS,开发者可以确保整个图书馆的视觉一致性,提供良好的用户体验。 此外,为了实现交互性,MyLibrary...
XBMC.MyLibrary-1.3.1.zip 是一个专为XBMC(Xbox Media Center,后更名为Kodi)设计的扩展工具,版本号为1.3.1。这个工具的主要功能是增强用户的媒体库体验,使得用户能够在XBMC平台上浏览和访问更多的电影资源。它...
"mylibrary_master.zip" 是一个包含Qt图书管理系统的源代码压缩包,主要使用C++语言编写,适合初学者学习Qt GUI(图形用户界面)和线程系统的基础应用。这个项目可能是一个简易的个人图书馆管理系统,用于管理和跟踪...
【标题】"MyLibrary:我的图书馆" 在IT领域,个人或团队经常开发各种软件或应用程序来满足特定需求。"MyLibrary:我的图书馆"这个项目很可能是一个个人化、自定义化的图书管理软件,它可能旨在帮助用户整理、管理和...
ASP.NET三层架构是一种常见的软件设计模式,用于组织和分离应用程序的业务逻辑、数据访问和用户界面层。这种架构模式有助于提高代码的可读性、可维护性和可扩展性,尤其适用于大型复杂项目。 1. **三层架构的概念**...
The Definitive Guide to MySQL源码(即mylibrary.sql)
关于Laravel Laravel是一个具有表达力,优雅语法的Web应用程序框架。 我们认为,发展必须是一种令人愉快的,富有创造力的经历,才能真正实现。 Laravel减轻了许多Web项目中使用的常见任务,从而减轻了开发过程中的...
ASP.NET的三层架构模式是一种常见的软件设计模式,尤其在Web应用程序开发中被广泛采用。它将应用程序分为三个主要部分:表现层(Presentation Layer)、业务逻辑层(Business Logic Layer)和数据访问层(Data ...
总之,"Mylibrary_usb常用封装_原理图_usb封装图_"这个资源集合了USB接口设计中常用的各种封装和原理图,对于电子工程师来说是一份宝贵的参考资料。使用这个库可以加速设计进程,同时确保设计符合USB标准,从而提高...
它由Sun Microsystems(现在是Oracle Corporation)的James Gosling等人在1995年推出,被设计为一种简单、健壮、可移植、多线程、动态的语言。Java的主要特点和优势包括以下几个方面: 跨平台性(Write Once, Run ...
MyLibrary系统与高校图书馆的个性化服务学习课程.pptx
文件下载,多线程下载。断点下载等简单封装的aar包
【MyLibrary系统与高校图书馆的个性化服务】 在现代信息技术的支持下,高校图书馆的服务模式正在经历深刻的变革,以MyLibrary系统为代表的新型服务系统正逐步引领图书馆的个性化服务创新。本PPT教案主要围绕五个...