分層情況

實體類Book代碼?
//實體類
public class Book {private int id;private String name;private int bsum;public Book() {}public Book(int id, String name, int bsum) {this.id = id;this.name = name;this.bsum = bsum;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getBsum() {return bsum;}public void setBsum(int bsum) {this.bsum = bsum;}@Overridepublic String toString() {return "Book{" +"id=" + id +", name='" + name + '\'' +", bsum=" + bsum +'}';}
}
控制層BookController代碼
import com.xszx.beans.Book;
import com.xszx.service.BookService;
import com.xszx.service.impl.BookServiceImpl;import java.util.List;
import java.util.Scanner;//控制層 控制請求轉發
public class BookController {Scanner sc=new Scanner(System.in);BookService bookService = new BookServiceImpl();//主方法public void menu(){System.out.println();System.out.println(" ---小張圖書管理系統--- ");System.out.println("***【1】查看圖書列表 【2】添加圖書 【3】修改圖書 【4】刪除圖書 【0】退出系統***");System.out.println("請選擇您要進行的操作:");int n = sc.nextInt();if(n==1){checkBook();menu();}else if (n==2){addBook();menu();}else if(n==3){alterBook();menu();}else if (n==4){deleteBook();menu();}else if(n==0){System.out.println("系統已退出,歡迎下次使用!!!");System.exit(0);}}//刪除圖書private void deleteBook() {Book book = new Book();System.out.println("請輸入您要刪除的圖書名稱:");book.setName(sc.next());//判斷名字是否存在 存在則刪除 不存在則提示不存在boolean b=bookService.getbookname(book);if(b){bookService.deleteBook(book);System.out.println("刪除成功!");} else{System.out.println("您要刪除的圖書不存在!");menu();}}//修改圖書private void alterBook() {Book book = new Book();System.out.println("請輸入您要修改的圖書名稱:");book.setName(sc.next());//判斷名字是否存在 存在則繼續修改 不存在則提示不存在boolean b=bookService.getbookname(book);if(b){Book book1 = new Book();System.out.println("請輸入修改后的圖書名稱:");book1.setName(sc.next());System.out.println("請輸入修改后的圖書庫存:");book1.setBsum(sc.nextInt());bookService.alterBook(book,book1);System.out.println("修改成功!");} else{System.out.println("您要修改的圖書不存在!");menu();}}//增加圖書private void addBook() {Book book = new Book();System.out.println("請輸入您要添加的圖書名稱:");book.setName(sc.next());//判斷名字是否存在 存在則提示名字沖突 不存在則繼續執行boolean b=bookService.getbookname(book);if(b){System.out.println("添加的圖書名字沖突");menu();}else{System.out.println("請輸入您要添加的圖書庫存:");book.setBsum(sc.nextInt());//后臺添加完成,是否成功int i = bookService.addbook(book);if (i==1){System.out.println("添加成功!!!");menu();}else{System.out.println("添加失敗!!!");menu();}}}//查看圖書private void checkBook() {List<Book> list = bookService.getbook();for (Book book : list){System.out.println(book);}menu();}
}
數據層BookDao代碼
import com.xszx.beans.Book;import java.util.ArrayList;
import java.util.List;//數據層 連接數據庫 處理數據 寫sql 后期為接口
public class BookDao {static List<Book> blist=new ArrayList<>();static{blist.add(new Book(1,"三國",666));blist.add(new Book(2,"水滸",888));blist.add(new Book(3,"紅樓夢",999));blist.add(new Book(4,"西游記",222));blist.add(new Book(5,"寶蓮燈",333));}public List<Book> getbooks() {return blist;}public int addbook(Book book) {int id = blist.get(0).getId();//查找最大值for (Book bk : blist){if (id<bk.getId()){id=bk.getId();}}book.setId(id+1);blist.add(book);return 1;}//判斷名字是否存在public boolean getbookname(Book book) {for (Book bk : blist){if(bk.getName().equals(book.getName())){return true;}}return false;}public void alterBook(Book book, Book book1) {for (Book bk : blist){//修改參數if(bk.getName().equals(book.getName())){bk.setName(book1.getName());bk.setBsum(book1.getBsum());}}}public void deleteBook(Book book) {for (Book bk : blist){//刪除元素if(bk.getName().equals(book.getName())){blist.remove(bk);break;}}}
}
?業務層接口BookService代碼
import com.xszx.beans.Book;import java.util.List;//業務層 處理業務
public interface BookService {List<Book> getbook();int addbook(Book book);boolean getbookname(Book book);void alterBook(Book book, Book book1);void deleteBook(Book book);
}
?業務層實現類BookServiceImpl代碼
import com.xszx.beans.Book;
import com.xszx.dao.BookDao;
import com.xszx.service.BookService;import java.util.List;public class BookServiceImpl implements BookService {BookDao bookDao = new BookDao();@Overridepublic List<Book> getbook() {return bookDao.getbooks();}@Overridepublic int addbook(Book book) {return bookDao.addbook(book);}@Overridepublic boolean getbookname(Book book) {return bookDao.getbookname(book);}@Overridepublic void alterBook(Book book, Book book1) {bookDao.alterBook(book, book1);}@Overridepublic void deleteBook(Book book) {bookDao.deleteBook(book);}
}
測試類Test代碼?
import com.xszx.controller.UserController;//測試類
public class Test {public static void main(String[] args) {System.out.println("歡迎來到小張圖書管理系統!!!");new UserController().menu();}
}