package com.book.service.impl;
import com.book.dao.BookMapper;
import com.book.dao.StudentMapper;
import com.book.dao.UserMapper;
import com.book.entity.Book;
import com.book.entity.Borrow;
import com.book.entity.Student;
import com.book.entity.User;
import com.book.service.BookService;
import com.book.utils.MybatisUtil;
import org.apache.ibatis.session.SqlSession;
import java.util.*;
import java.util.stream.Collectors;
public class BookServiceImpl implements BookService {
@Override
public List<Borrow> getBorrowList() {
try (SqlSession sqlSession = MybatisUtil.getSession()){
BookMapper mapper = sqlSession.getMapper(BookMapper.class);
return mapper.getBorrowList();
}
}
@Override
public void returnBook(String id) {
try (SqlSession sqlSession = MybatisUtil.getSession()){
BookMapper mapper = sqlSession.getMapper(BookMapper.class);
mapper.deleteBorrow(id);
}
}
@Override
public List<Book> getActiveBookList() {
Set<Integer> set = new HashSet<>();
this.getBorrowList().forEach(borrow -> set.add(borrow.getBook_id()));
try (SqlSession sqlSession = MybatisUtil.getSession()){
BookMapper mapper = sqlSession.getMapper(BookMapper.class);
return mapper.getBookList()
.stream()
.filter(book -> !set.contains(book.getBid()))
.collect(Collectors.toList());
}
}
@Override
public Map<Book, Boolean> getBookList() {
Set<Integer> set = new HashSet<>();
this.getBorrowList().forEach(borrow -> set.add(borrow.getBook_id()));
try (SqlSession sqlSession = MybatisUtil.getSession()){
Map<Book, Boolean> map = new LinkedHashMap<>();
BookMapper mapper = sqlSession.getMapper(BookMapper.class);
mapper.getBookList().forEach(book -> map.put(book, set.contains(book.getBid())));
return map;
}
}
@Override
public List<Student> getStudentList() {
try (SqlSession sqlSession = MybatisUtil.getSession()){
StudentMapper mapper = sqlSession.getMapper(StudentMapper.class);
return mapper.getStudentList();
}
}
@Override
public void addBorrow(int sid, int bid) {
try (SqlSession sqlSession = MybatisUtil.getSession()){
BookMapper mapper = sqlSession.getMapper(BookMapper.class);
mapper.addBorrow(sid, bid);
}
}
@Override
public void deleteBook(int bid) {
try (SqlSession sqlSession = MybatisUtil.getSession()){
BookMapper mapper = sqlSession.getMapper(BookMapper.class);
mapper.deleteBook(bid);
}
}
@Override
public void addBook(String title, String desc, double price) {
try (SqlSession sqlSession = MybatisUtil.getSession()){
BookMapper mapper = sqlSession.getMapper(BookMapper.class);
mapper.addBook(title, desc, price);
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
本资源中的源码都是经过本地编译过可运行的,下载后按照文档配置好环境就可以运行。资源项目的难度比较适中,内容都是经过助教老师审定过的,应该能够满足学习、使用需求,如果有需要的话可以放心下载使用。有任何问题也可以随时私信博主,博主会第一时间给您解答!!! 本资源中的源码都是经过本地编译过可运行的,下载后按照文档配置好环境就可以运行。资源项目的难度比较适中,内容都是经过助教老师审定过的,应该能够满足学习、使用需求,如果有需要的话可以放心下载使用。有任何问题也可以随时私信博主,博主会第一时间给您解答!!! 本资源中的源码都是经过本地编译过可运行的,下载后按照文档配置好环境就可以运行。资源项目的难度比较适中,内容都是经过助教老师审定过的,应该能够满足学习、使用需求,如果有需要的话可以放心下载使用。有任何问题也可以随时私信博主,博主会第一时间给您解答!!!
资源推荐
资源详情
资源评论
收起资源包目录
基于Servlet+Thymeleaf+Mybatis的图书管理系统.zip (211个子文件)
style.css 139KB
bootstrap.min.css 138KB
icofont.min.css 90KB
font-awesome.min.css 58KB
range.css 36KB
swiper.min.css 19KB
datatables.css 16KB
fonts.css 10KB
css2.css 9KB
auth.css 8KB
nice-select.css 3KB
theme.css 2KB
calender.css 935B
jqvmap.min.css 613B
loader.gif 62KB
.gitignore 182B
index.html 30KB
books.html 11KB
add-book.html 9KB
add-borrow.html 9KB
students.html 7KB
login.html 5KB
header.html 2KB
BookManagerWeb.iml 3KB
BookServiceImpl.java 3KB
LoginServlet.java 3KB
AddBorrowServlet.java 1KB
IndexServlet.java 1KB
BookMapper.java 1KB
AddBookServlet.java 1KB
BookServlet.java 1KB
StudentServlet.java 1KB
MainFilter.java 993B
LogoutServlet.java 913B
DeleteBookServlet.java 856B
ReturnServlet.java 834B
UserServiceImpl.java 732B
MybatisUtil.java 642B
ThymeleafUtil.java 627B
BookService.java 502B
UserMapper.java 356B
StudentMapper.java 233B
Borrow.java 212B
UserService.java 175B
User.java 150B
Book.java 141B
Student.java 139B
carousal2.jpg 220KB
carousal4.jpg 176KB
carousal3.jpg 162KB
carousal8.jpg 132KB
carousal7.jpg 119KB
carousal1.jpg 113KB
carousal9.jpg 104KB
carousal5.jpg 94KB
carousal6.jpg 75KB
user3.jpg 71KB
user4.jpg 50KB
7.jpg 38KB
pro3.jpg 17KB
pro1.jpg 13KB
2.jpg 13KB
1.jpg 13KB
3.jpg 12KB
4.jpg 10KB
pro2.jpg 9KB
user.jpg 3KB
ckeditor.js 618KB
apexcharts.min.js 425KB
range.js 248KB
bootstrap.min.js 133KB
swiper.min.js 125KB
jquery.min.js 87KB
datatables.min.js 85KB
jquery.vmap.world.js 59KB
control-chart-apexcharts.js 23KB
jquery.vmap.min.js 21KB
popper.min.js 20KB
dataTables.responsive.min.js 16KB
custom.js 14KB
calendar.min.js 7KB
tagging.min.js 5KB
jquery.countTo.js 4KB
nice-select.min.js 3KB
jquery.vmap.sampledata.js 2KB
jquery.appear.js 1KB
tag.js 611B
script.js 210B
thumb1.png 189KB
error.png 123KB
thumb3.png 122KB
thumb4.png 84KB
user2.png 75KB
thumb2.png 67KB
user1.png 65KB
p5.png 58KB
p7.png 57KB
p2.png 55KB
p3.png 49KB
p1.png 40KB
共 211 条
- 1
- 2
- 3
资源评论
白话机器学习
- 粉丝: 9334
- 资源: 7681
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Python的高德地图+58租房(源码+使用文档)
- C语言文件读写代码.docx
- python的概要介绍与分析
- module-0982.SyncTensorsGraph.9515.sm-8.0-gpu-after-optimizations
- ChromeSetup20220804.exe
- 讲解记录 基于Java的小区物业管理系统
- module-0004.SyncTensorsGraph.7578.sm-8.0-gpu-after-optimizations
- python39.dll
- 【Matlab 六自由度机器人】Fixed Angles(固定角度) 和 Euler Angles(欧拉角) 之间的区别
- STLINK下载器调试过程中常见问题排查
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功