条件

主菜单:【1】登录【2】注册【3】退出
登录成功后提示恭喜***登录本系统;登录不成功要提示是密码错误还是账号错误。

管理员登录:【1】添加书【2】删除书【3】修改书【4】查看书【5】修改用户权限【6】返回上一层

用户登录:【1】查看书【2】借书【3】查看已借书【4】返回上一层

项目需要分层 controller service dao

代码

bean层

//图书类
public class Book {private int bookId;private String bookName;private String bookAuthor;private String bookStatus;//状态public Book() { }public Book(int bookId, String bookName, String bookAuthor, String bookStatus) {this.bookId = bookId;this.bookName = bookName;this.bookAuthor = bookAuthor;this.bookStatus = bookStatus;}public int getBookId() {return bookId;}public void setBookId(int bookId) {this.bookId = bookId;}public String getBookName() {return bookName;}public void setBookName(String bookName) {this.bookName = bookName;}public String getBookAuthor() {return bookAuthor;}public void setBookAuthor(String bookAuthor) {this.bookAuthor = bookAuthor;}public String getBookStatus() {return bookStatus;}public void setBookStatus(String bookStatus) {this.bookStatus = bookStatus;}@Overridepublic String toString() {return "Book{" +"bookId=" + bookId +", bookName='" + bookName + '\'' +", bookAuthor='" + bookAuthor + '\'' +", bookStatus=" + bookStatus +'}';}
}
//用户类
public class User {private int userId;private String userName;private String userLoginName;private String userPwd;private String role;public User() {}public User(int userId, String userName, String userLoginName, String userPwd, String role) {this.userId = userId;this.userName = userName;this.userLoginName = userLoginName;this.userPwd = userPwd;this.role = role;}public int getUserId() {return userId;}public void setUserId(int userId) {this.userId = userId;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public String getUserLoginName() {return userLoginName;}public void setUserLoginName(String userLoginName) {this.userLoginName = userLoginName;}public String getUserPwd() {return userPwd;}public void setUserPwd(String userPwd) {this.userPwd = userPwd;}public String getRole() {return role;}public void setRole(String role) {this.role = role;}@Overridepublic String toString() {return "User{" +"userId=" + userId +", userName='" + userName + '\'' +", userLoginName='" + userLoginName + '\'' +", userPwd='" + userPwd + '\'' +", role='" + role + '\'' +'}';}
}
//借书类
public class Jbook {private int id;private String jusername;private String jbookname;private String jdata;private String hdata;public Jbook() { }public Jbook(int id, String jusername, String jbookname, String jdata, String hdata) {this.id = id;this.jusername = jusername;this.jbookname = jbookname;this.jdata = jdata;this.hdata = hdata;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getJusername() {return jusername;}public void setJusername(String jusername) {this.jusername = jusername;}public String getJbookname() {return jbookname;}public void setJbookname(String jbookname) {this.jbookname = jbookname;}public String getJdata() {return jdata;}public void setJdata(String jdata) {this.jdata = jdata;}public String getHdata() {return hdata;}public void setHdata(String hdata) {this.hdata = hdata;}@Overridepublic String toString() {return "Jbook{" +"id=" + id +", jusername='" + jusername + '\'' +", jbookname='" + jbookname + '\'' +", jdata='" + jdata + '\'' +", hdata='" + hdata + '\'' +'}';}
}

dao层

public class BookDao {static List<Book> list = new ArrayList<>();static {Book book = new Book();book.setBookId(1);book.setBookName("三国演义");book.setBookAuthor("罗贯中");book.setBookStatus("未借");list.add(book);Book book1 = new Book();book1.setBookId(2);book1.setBookName("水浒传");book1.setBookAuthor("施耐庵");book1.setBookStatus("未借");list.add(book1);Book book2 = new Book();book2.setBookId(3);book2.setBookName("西游记");book2.setBookAuthor("吴承恩");book2.setBookStatus("未借");list.add(book2);Book book3 = new Book();book3.setBookId(4);book3.setBookName("红楼梦");book3.setBookAuthor("曹雪芹");book3.setBookStatus("未借");list.add(book3);}//查询public List<Book> findBook() {return list;}//添加public void addBook(Book book) {list.add(book);}
}
public class UserDao {static List<User> list = new ArrayList<>();static {User user = new User();user.setUserId(1);user.setUserName("张三");user.setUserLoginName("1001");user.setUserPwd("123");user.setRole("管理员");list.add(user);}public List<User> findUser(){return list;}public void addUser(User user) {list.add(user);}
}
public class JbookDao {static List<Jbook> list = new ArrayList<>();public void addJbook(Jbook jbook) {list.add(jbook);}public List<Jbook> findBooked() {return list;}
}

service层

public class BookService {BookDao bookDao = new BookDao();//查看书public List<Book> findBook() {return bookDao.findBook();}//添加书public void addBook(Book book) {book.setBookId(getBid());book.setBookStatus("未借");bookDao.addBook(book);}//获取书ID的方法private int getBid() {int i = 0;List<Book> list = bookDao.findBook();i = list.size()+1;return i;}//修改书名业务实现public List<Book> modifyBook(String bookname, String newbookname) {List<Book> list = bookDao.findBook();for(Book book : list){if(book.getBookName().equals(bookname)){book.setBookName(newbookname);}}return list;}//删除书名业务实现public List<Book> deleteBook(String bookname) {List<Book> list = bookDao.findBook();for(Book book : list){if(book.getBookName().equals(bookname)){list.remove(book);break;}}return list;}
}
public class UserService {UserDao userDao = new UserDao();public User login(User user) {List<User> list = userDao.findUser();for(User user1 : list){if(user.getUserLoginName().equals(user1.getUserLoginName()) && user.getUserPwd().equals(user1.getUserPwd())){return user1;}}return null;}//添加用户(注册)public void addUser(User user) {user.setUserId(getUid());user.setRole("用户");userDao.addUser(user);}//获取用户ID方法public int getUid(){int i = 0;List<User> list = userDao.findUser();i = list.size()+1;return i;}//修改用户权限业务实现public List<User> modifyUserRole(int i) {List<User> list = userDao.findUser();for(User user : list){if(user.getUserId()==i){user.setRole("管理员");}}return list;}
}
public class JbookService {JbookDao jbookDao = new JbookDao();BookDao bookDao = new BookDao();//借书public List<Book> jieBook(String jbookname) {List<Book> list = bookDao.findBook();for(Book book : list){if(book.getBookName().equals(jbookname)){book.setBookStatus("已借");}}return list;}//添加借书public void addJbook(Jbook jbook){jbook.setId(getjid());jbookDao.addJbook(jbook);}private int getjid() {int i = 0;List<Jbook> list = jbookDao.findBooked();i = list.size()+1;return i;}//查询已借书public List<Jbook> findBooked() {return jbookDao.findBooked();}
}

controller层

public class BookController {Scanner scanner = new Scanner(System.in);BookService bookService = new BookService();//查看书public void findBook() {List<Book> list = bookService.findBook();for(Book book : list){System.out.println(book);}System.out.println("________________________________________________________________________");}//添加书public void addBook() {Book book = new Book();System.out.print("请输入书名:");book.setBookName(scanner.next());System.out.print("请输入书的作者:");book.setBookAuthor(scanner.next());bookService.addBook(book);System.out.println("添加书成功!");}//修改书public void modifyBook() {System.out.println("书库里的书有:");findBook();System.out.print("请输入要修改的书名:");String bookname = scanner.next();System.out.print("请输入新书名:");String newbookname = scanner.next();bookService.modifyBook(bookname,newbookname);}//删除书public void deleteBook() {System.out.println("书库里的书有:");findBook();System.out.print("请输入要删除的书名:");String bookname = scanner.next();bookService.deleteBook(bookname);}
}
public class UserController {BookController bookController = new BookController();JbookController jbookController = new JbookController();UserService userService = new UserService();Scanner scanner = new Scanner(System.in);public void menu() {System.out.println();System.out.println("欢迎来到图书系统主菜单!");System.out.println("【1】登录 【2】注册 【3】退出");System.out.print("请选择一项服务:");int i = scanner.nextInt();if(i==1){//登录login();}else if(i==2) {//注册register();}else if(i==3){//退出System.out.println("系统已退出,期待下次为您服务!");System.exit(0);}else {System.out.println("输入有误,请重新输入!");menu();}}//注册private void register() {User user = new User();//创建user对象接收输入的信息System.out.print("请输入你的用户名:");user.setUserName(scanner.next());System.out.print("请输入你的登录名:");user.setUserLoginName(scanner.next());System.out.print("请输入你的登录密码:");user.setUserPwd(scanner.next());userService.addUser(user);//把有输入请求的对象带过去操作System.out.println("注册成功!");menu();}//登录private void login() {System.out.print("请输入你的登录名:");String loginName = scanner.next();System.out.print("请输入你的登录密码:");String loginPwd = scanner.next();User user = new User();user.setUserLoginName(loginName);user.setUserPwd(loginPwd);User user1 = userService.login(user);if(user1 != null){//登录成功if(user1.getRole().equals("管理员")){vipPage(user1);}else if(user1.getRole().equals("用户")){userPage(user1);}}else{//登录失败System.out.println("您输入的登录名或者登录密码有误,请重新输入!");login();}}//用户界面private void userPage(User user) {System.out.println();System.out.println("欢迎来到用户界面!");System.out.println("【1】查看书 【2】借书 【3】查看已借书 【4】返回上一层");System.out.print("请选择一项服务:");int i = scanner.nextInt();if(i == 1){bookController.findBook();userPage(user);}else if(i == 2){jbookController.jieBook(user);userPage(user);}else if(i == 3){jbookController.findBooked();userPage(user);}else if(i == 4){menu();}else{System.out.println("输入有误!重新输入!");userPage(user);}}//管理员界面private void vipPage(User user) {System.out.println();System.out.println("欢迎来到管理员界面!");System.out.println("【1】查看书 【2】添加书 【3】修改书 【4】删除书 【5】修改用户权限 【6】返回上一层");System.out.print("请选择一项服务:");int i = scanner.nextInt();if(i == 1){bookController.findBook();vipPage(user);}else if(i == 2){bookController.addBook();vipPage(user);}else if(i == 3){bookController.modifyBook();vipPage(user);}else if(i == 4){bookController.deleteBook();vipPage(user);}else if(i == 5){modifyUserRole();vipPage(user);}else if(i == 6){menu();}else{System.out.println("输入有误!重新输入!");vipPage(user);}}//修改用户权限方法private void modifyUserRole() {System.out.print("请输入你要修改权限的用户ID:");int i = scanner.nextInt();userService.modifyUserRole(i);System.out.println("修改成功,该用户可以进入管理员界面了!");}
}
public class JbookController {JbookService jbookService = new JbookService();Scanner scanner = new Scanner(System.in);//借书public void jieBook(User user) {Jbook jbook = new Jbook();jbook.setJusername(user.getUserName());System.out.print("请输入你要借的书名:");String jbookname = scanner.next();jbook.setJbookname(jbookname);System.out.print("请输入今天的日期:");jbook.setJdata(scanner.next());System.out.print("请输入还书的日期:");jbook.setHdata(scanner.next());jbookService.addJbook(jbook);jbookService.jieBook(jbookname);System.out.println("借书成功!");}//查询已借书public void findBooked() {List<Jbook> list = jbookService.findBooked();for(Jbook jbook : list){System.out.println(jbook);}System.out.println("________________________________________________________________________");}
}

测试类

public class Test {public static void main(String[] args) {UserController userController = new UserController();userController.menu();}
}

Java图书管理_增删改查_分层实现功能相关推荐

  1. java 学生信息的增删改查_学生信息的增删改查(java)

    学生信息的增删改查 注意:此处用到的是access数据库. 运行后效果如图: 代码如下: package example; import java.awt.*; import java.awt.eve ...

  2. java对数据库的增删改查_在java中对数据库进行增删改查

    代码区域: package com.oracle.jdbc.demo1; import java.sql.Connection; import java.sql.DriverManager; impo ...

  3. 论坛模块_版块管理_增删改查实现上下移动

    论坛模块_版块管理1_增删改查 设计实体Forum.java public class Forum {private Long id;private String name;private Strin ...

  4. SSM整合_实现增删改查_查找

    写在前面 SSM整合_年轻人的第一个增删改查_基础环境搭建 SSM整合_年轻人的第一个增删改查_查找 SSM整合_年轻人的第一个增删改查_新增 SSM整合_年轻人的第一个增删改查_修改 SSM整合_年 ...

  5. python制作一个密码簿_[python]制作密码薄,完成增删改查和文件存储功能。

    题目: 1)用文本编辑器编写一个密码簿文本文件,每一行格式为:姓名,密码 2)编写Python代码,提示:输入文件名,输入文件名后提示:查找,增加,删除,修改,保存 3)选择查找,输入姓名,提示&qu ...

  6. MySQL学习总结(2) --- 数据表管理(增删改查)、使用DQL查询数据(SELECT)

    MySQL学习总结(2) - 数据表管理(增删改查).使用DQL查询数据(SELECT) 1. 数据管理(增删改查) 数据库数据管理方法: a.通过SQLyog等管理工具管理数据库数据 b. 通过DM ...

  7. Java 实现Gbase数据库增删改查功能

    Java 实现Gbase数据库增删改查功能 具体代码如下 主要: 要记得在官网下载驱动包gbase-connector-java-8.3-bin.jar package com.advance.JDB ...

  8. Java连接Mysql数据库增删改查实现

    Java连接Mysql数据库增删改查实现 时间比较赶,我这里只实现查询,有时间再添加另外两个 难度 : ⭐⭐⭐(全星5颗星的情况下) 新建一个动态的网站工程, 把jar包全部复制进去,主要要那个mys ...

  9. JDBC:JAVA连接Mysql实现增删改查

    总有特别赶的时候,小高叫你如何速通JAVA连接数据库Mysql实现增删改查.CV战士 一.前置准备工作 1. 安装IDEA,配置JAVA环境 2. 安装Mysql,配置Mysql环境变量 3. 安装S ...

最新文章

  1. 什么是Nib文件?(Nib文件是一种特殊类型的资源文件,它用于保存iPhone OS或Mac OS X应用程序的用户接口)...
  2. 【完整代码】Scala akka入门示例
  3. 贪心 - Dota2 参议院
  4. leetcode 764.Largest Plus Sign
  5. java中import的使用
  6. 如何调试SharePoint中XsltListViewWebPart的XSL
  7. linux网络配置putty,PuTTY配置详解
  8. web开发规范 - 图片规范
  9. 基于Android的虚拟校园移动学习系统
  10. QML入门教程(1): Qt Quick与QML介绍
  11. 离线安装 Enhanced Class Decompiler
  12. kindle 越狱降级
  13. 方向导数和梯度的辨析
  14. 【论文笔记】Neural Relation Extraction with Multi-lingual Attention
  15. 电梯服务器显示lrabort,LR java vuser 空指针异常
  16. ZigBee 3.0实战教程-Silicon Labs EFR32+EmberZnet:学习教程目录
  17. Docker 介绍、安装、基础搭建 --01
  18. 手机操作系统开源软件
  19. 长沙学院计算机科学与技术排名,长沙学院计算机科学与技术系
  20. CF 920A Water the Garden

热门文章

  1. 计算机毕业设计PHP高校体育场馆管理系统(源码+程序+VUE+lw+部署)
  2. 苹果开发者:Siri未开放API 有些让人失望
  3. Cookie的secure和httpOnly属性的含义 以及 Cookie设置HttpOnly,Secure,Expire属性
  4. ARM立即数合法性快速判断--求8位常数和4位移数位
  5. CodeForces - 1000D D. Yet Another Problem On a Subsequence 好题
  6. 解决J2EE出现...was not found on the Java Build Path的错误
  7. vue3+vite+EChars LPL数据可视化项目总结
  8. 图扑软件荣获第十一届中国创新创业大赛全国赛优秀奖!
  9. 用matlab实现线性卷积,离散卷积的算法分析及MATLAB实现(程序实例)
  10. 波特率dlm_波特率与分频系数