package com.itheima.controller;
import com.itheima.domain.Book;
import com.itheima.domain.User;
import com.itheima.service.BookService;
import entity.PageResult;
import entity.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
/*
图书信息Controller
*/
@Controller
@RequestMapping("/book")
public class BookController {
//注入BookService对象
@Autowired
private BookService bookService;
/**
* 查询最新上架的图书
*/
@RequestMapping("/selectNewbooks")
public ModelAndView selectNewbooks() {
//查询最新上架的5个的图书信息
int pageNum = 1;
int pageSize = 5;
PageResult pageResult = bookService.selectNewBooks(pageNum, pageSize);
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("books_new");
modelAndView.addObject("pageResult", pageResult);
return modelAndView;
}
/**
* 根据图书id查询图书信息
* @param id 查询的图书id
*/
@ResponseBody
@RequestMapping("/findById")
public Result<Book> findById(String id) {
try {
Book book=bookService.findById(id);
if(book==null){
return new Result(false,"查询图书失败!");
}
return new Result(true,"查询图书成功",book);
}catch (Exception e){
e.printStackTrace();
return new Result(false,"查询图书失败!");
}
}
/**
* 借阅图书
* @param book 借阅的图书
* @return
*/
@ResponseBody
@RequestMapping("/borrowBook")
public Result borrowBook(Book book, HttpSession session) {
//获取当前登录的用户姓名
String pname = ((User) session.getAttribute("USER_SESSION")).getName();
book.setBorrower(pname);
try {
//根据图书的id和用户进行图书借阅
Integer count = bookService.borrowBook(book);
if (count != 1) {
return new Result(false, "借阅图书失败!");
}
return new Result(true, "借阅成功,请到行政中心取书!");
} catch (Exception e) {
e.printStackTrace();
return new Result(false, "借阅图书失败!");
}
}
/**
* 分页查询符合条件且未下架图书信息
* @param book 查询的条件封装到book中
* @param pageNum 数据列表的当前页码
* @param pageSize 数据列表1页展示多少条数据
*/
@RequestMapping("/search")
public ModelAndView search(Book book, Integer pageNum, Integer pageSize, HttpServletRequest request) {
if (pageNum == null) {
pageNum = 1;
}
if (pageSize == null) {
pageSize = 10;
}
//查询到的图书信息
PageResult pageResult = bookService.search(book, pageNum, pageSize);
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("books");
//将查询到的数据存放在 ModelAndView的对象中
modelAndView.addObject("pageResult", pageResult);
//将查询的参数返回到页面,用于回显到查询的输入框中
modelAndView.addObject("search", book);
//将当前页码返回到页面,用于分页插件的分页显示
modelAndView.addObject("pageNum", pageNum);
//将当前查询的控制器路径返回到页面,页码变化时继续向该路径发送请求
modelAndView.addObject("gourl", request.getRequestURI());
return modelAndView;
}
/**
* 新增图书
* @param book 页面表单提交的图书信息
* 将新增的结果和向页面传递信息封装到Result对象中返回
*/
@ResponseBody
@RequestMapping("/addBook")
public Result addBook(Book book) {
try {
Integer count=bookService.addBook(book);
if(count!=1){
return new Result(false, "新增图书失败!");
}
return new Result(true, "新增图书成功!");
}catch (Exception e){
e.printStackTrace();
return new Result(false, "新增图书失败!");
}
}
/**
* 编辑图书信息
* @param book 编辑的图书信息
*/
@ResponseBody
@RequestMapping("/editBook")
public Result editBook(Book book) {
try {
Integer count= bookService.editBook(book);
if(count!=1){
return new Result(false, "编辑失败!");
}
return new Result(true, "编辑成功!");
}catch (Exception e){
e.printStackTrace();
return new Result(false, "编辑失败!");
}
}
/**
*分页查询当前被借阅且未归还的图书信息
* @param pageNum 数据列表的当前页码
* @param pageSize 数据列表1页展示多少条数据
*/
@RequestMapping("/searchBorrowed")
public ModelAndView searchBorrowed(Book book,Integer pageNum, Integer pageSize, HttpServletRequest request) {
if (pageNum == null) {
pageNum = 1;
}
if (pageSize == null) {
pageSize = 10;
}
//获取当前登录的用户
User user = (User) request.getSession().getAttribute("USER_SESSION");
PageResult pageResult = bookService.searchBorrowed(book,user, pageNum, pageSize);
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("book_borrowed");
//将查询到的数据存放在 ModelAndView的对象中
modelAndView.addObject("pageResult", pageResult);
//将查询的参数返回到页面,用于回显到查询的输入框中
modelAndView.addObject("search", book);
//将当前页码返回到页面,用于分页插件的分页显示
modelAndView.addObject("pageNum", pageNum);
//将当前查询的控制器路径返回到页面,页码变化时继续向该路径发送请求
modelAndView.addObject("gourl", request.getRequestURI());
return modelAndView;
}
/**
* 归还图书
* @param id 归还的图书的id
*/
@ResponseBody
@RequestMapping("/returnBook")
public Result returnBook(String id, HttpSession session) {
//获取当前登录的用户信息
User user = (User) session.getAttribute("USER_SESSION");
try {
boolean flag = bookService.returnBook(id, user);
if (!flag) {
return new Result(false, "还书失败!");
}
return new Result(true, "还书确认中,请先到行政中心还书!");
}catch (Exception e){
e.printStackTrace();
return new Result(false, "还书失败!");
}
}
/**
* 确认图书归还
* @param id 确认归还的图书的id
*/
@ResponseBody
@RequestMapping("/returnConfirm")
public Result returnConfirm(String id) {
try {
Integer count=bookService.returnConfirm(id);
if(count!=1){
return new Result(false, "确认失败!");
}
return new Result(true, "确认成功!");
}catch (Exception e){
e.printStackTrace();
return new Result(false, "确认失败!");
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
基于SSM框架的云借阅图书管理系统源码+数据库(毕业设计).zip
共187个文件
class:48个
jar:37个
java:24个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 4 下载量 183 浏览量
2023-02-08
16:40:19
上传
评论 9
收藏 24.24MB ZIP 举报
温馨提示
基于SSM框架的云借阅图书管理系统(源码+数据库).zip 获导师指导并通过的高分毕设项目,代码完整确保可以运行,下载即用无需修改。 软件架构说明 根据功能的不同,云借阅图书管理系统项目结构可以划分为以下几个层次。 持久对象层(持久层或持久化层):该层由若干持久化类(实体类)组成。 数据访问层(DAO层):该层由若干DAO接口和MyBatis映射文件组成。DAO接口的名称统一以Mapper结尾,且MyBatis的映射文件名称要与接口的名称相同。 业务逻辑层(Service层):该层由若干Service接口和实现类组成。逻辑层主要用于实现系统的业务逻辑。 Web表现层:该层主要包括Spring MVC中的Controller类和JSP页面。 基于SSM框架的云借阅图书管理系统(源码+数据库).zip 获导师指导并通过的高分毕设项目,代码完整确保可以运行,下载即用无需修改。基于SSM框架的云借阅图书管理系统(源码+数据库).zip 获导师指导并通过的高分毕设项目,代码完整确保可以运行,下载即用无需修改。基于SSM框架的云借阅图书管理系统(源码+数据库).zip 获导师指导并通过的高分
资源推荐
资源详情
资源评论
收起资源包目录
基于SSM框架的云借阅图书管理系统源码+数据库(毕业设计).zip (187个子文件)
BookController.class 6KB
BookController.class 6KB
BookServiceImpl.class 5KB
BookServiceImpl.class 5KB
UserController.class 5KB
UserController.class 5KB
SpringMvcConfig.class 3KB
SpringMvcConfig.class 3KB
BookMapper.class 3KB
BookMapper.class 3KB
Book.class 3KB
Book.class 3KB
UserServiceImpl.class 3KB
UserServiceImpl.class 3KB
ResourcesInterceptor.class 2KB
ResourcesInterceptor.class 2KB
RecordController.class 2KB
RecordController.class 2KB
MyBatisConfig.class 2KB
MyBatisConfig.class 2KB
RecordServiceImpl.class 2KB
RecordServiceImpl.class 2KB
User.class 2KB
User.class 2KB
UserMapper.class 2KB
UserMapper.class 2KB
Result.class 2KB
Result.class 2KB
Record.class 2KB
Record.class 2KB
EncodingFilter.class 1KB
EncodingFilter.class 1KB
SpringConfig.class 1KB
SpringConfig.class 1KB
JdbcConfig.class 1KB
JdbcConfig.class 1KB
RecordMapper.class 1KB
RecordMapper.class 1KB
ServletContainersInitConfig.class 916B
ServletContainersInitConfig.class 916B
PageResult.class 808B
PageResult.class 808B
BookService.class 761B
BookService.class 761B
UserService.class 565B
UserService.class 565B
RecordService.class 336B
RecordService.class 336B
webbase.css 248KB
webbase.css 248KB
bootstrap.css 143KB
bootstrap.css 143KB
AdminLTE.css 108KB
AdminLTE.css 108KB
_all-skins.min.css 40KB
_all-skins.min.css 40KB
style.css 2KB
style.css 2KB
pages-login-manage.css 2KB
pages-login-manage.css 2KB
pagination.css 1KB
pagination.css 1KB
.gitignore 259B
cloudlibrary.iml 80B
druid-1.1.20.jar 2.65MB
mysql-connector-java-8.0.16.jar 2.19MB
mybatis-3.5.2.jar 1.62MB
log4j-core-2.10.0.jar 1.52MB
spring-core-5.2.8.RELEASE.jar 1.38MB
spring-web-5.2.8.RELEASE.jar 1.37MB
protobuf-java-3.6.1.jar 1.36MB
spring-web-5.1.9.RELEASE.jar 1.32MB
jackson-databind-2.9.2.jar 1.27MB
spring-core-5.1.9.RELEASE.jar 1.23MB
spring-context-5.2.8.RELEASE.jar 1.17MB
spring-context-5.1.9.RELEASE.jar 1.05MB
spring-webmvc-5.2.8.RELEASE.jar 934KB
spring-webmvc-5.1.9.RELEASE.jar 782KB
spring-beans-5.2.8.RELEASE.jar 673KB
spring-beans-5.1.9.RELEASE.jar 658KB
log4j-1.2.16.jar 470KB
jsqlparser-2.0.jar 443KB
jstl-1.2.jar 405KB
spring-jdbc-5.2.8.RELEASE.jar 398KB
spring-jdbc-5.1.9.RELEASE.jar 395KB
standard-1.1.2.jar 384KB
spring-aop-5.2.8.RELEASE.jar 364KB
spring-aop-5.1.9.RELEASE.jar 360KB
jackson-core-2.9.2.jar 314KB
spring-tx-5.2.8.RELEASE.jar 307KB
spring-expression-5.2.8.RELEASE.jar 276KB
spring-expression-5.1.9.RELEASE.jar 274KB
spring-tx-5.1.9.RELEASE.jar 250KB
log4j-api-2.10.0.jar 249KB
pagehelper-5.1.10.jar 83KB
jackson-annotations-2.9.0.jar 65KB
mybatis-spring-2.0.1.jar 65KB
slf4j-api-1.6.1.jar 25KB
spring-jcl-5.2.8.RELEASE.jar 23KB
spring-jcl-5.1.9.RELEASE.jar 23KB
共 187 条
- 1
- 2
猰貐的新时代
- 粉丝: 1w+
- 资源: 2886
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页