因为使用了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); 另外 我还想实现模糊搜索,这个接口以后再补充~~
分享到:
相关推荐
基于android开发,可以读取xml文件获得图书信息并显示,可以添加修改个人信息,查找本地图书信息并显示
MyLibrary
一个图书馆管理信息系统,仅供参考,版权归所有开发者。
适合初学者学习,登陆 注册 功能 借书还书功能 一系列增删改查 内置数据库 和项目运行中的图片文件,一个简单的图书馆系统。
读者登录图书管理软件系统进行在线借书、还书,此过程中可以依据书籍的编号和名字查询书籍详细信息,并生成读者的借阅记录供读者查询。管理员登录图书管理软件系统可以进行读者管理、书籍管理、借阅情况查询分析。...
包含了三个功能 1.使用注解告别繁琐的findViewById和setOnClickListener 2.三级缓存加载网络图片 3.一行代码解析json 内含使用例子,新手作品,高手勿喷
The Definitive Guide to MySQL源码(即mylibrary.sql)
关于Laravel Laravel是一个具有表达力,优雅语法的Web应用程序框架。 我们认为,发展必须是一种令人愉快的,富有创造力的经历,才能真正实现。 Laravel减轻了许多Web项目中使用的常见任务,从而减轻了开发过程中的...
高校图书馆个性化服务系统MyLibrary的研究与实现
它由Sun Microsystems(现在是Oracle Corporation)的James Gosling等人在1995年推出,被设计为一种简单、健壮、可移植、多线程、动态的语言。Java的主要特点和优势包括以下几个方面: 跨平台性(Write Once, Run ...
图书管理系统数九库各个表中的的设计如下: (1) 建立图书馆数据库(MyLibrary) create database MyLibrary on (name=Mylibrary_data1, filename='d:\Mylibrary_data1.mdf', size=10, maxsize=50, filegrowth=4),...
MyPlugins 我的插件
MyLibrary系统与高校图书馆的个性化服务PPT教案.pptx
MyLibrary系统与高校图书馆的个性化服务学习课程.pptx
文件下载,多线程下载。断点下载等简单封装的aar包
QT 图书管理 C++ 适用于刚入学Qt 开发简单的Gui线程系统
java6 string源码 一、ListView android-pulltorefresh 一个强大的拉动刷新开源项目,支持各种控件下拉刷新,ListView、ViewPager、WebView、ExpandableListView、GridView、ScrollView、Horizontal ...
管理系统系列--MYLIBRARY图书管理系统 是基于Spring Boot + Mybatis 开发的图书管理系统