java毕业项目:基于ssm框架的微信小程序图书管理系统1023

项目描述

基于ssm框架的微信小程序图书管理系统,功能完善。适合练习小程序开发,也可以用作课程设计和毕业设计。
主要功能:首页,图书列表,个人中心 等;

运行环境

jdk8+tomcat8+mysql+IntelliJ IDEA+微信小程序

项目技术

spring+spring mvc+mybatis+微信小程序

项目截图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

部分代码(3段)

/**
 * 图书模块controller
 */
 
@RestController
@RequestMapping("/api/book") 
public class ApiBookController {
	@Resource BookService bookService; 
	
	@InitBinder("bookTypeObj")
	public void initBinderbookTypeObj(WebDataBinder binder) {
		binder.setFieldDefaultPrefix("bookTypeObj.");
	}
	
	@InitBinder("book")
	public void initBinderBook(WebDataBinder binder) {
		binder.setFieldDefaultPrefix("book.");
	}
	
	
	/*客户端ajax方式添加图书信息*/
	@RequestMapping(value = "/add", method = RequestMethod.POST)
	public JsonResult add(@Validated Book book, BindingResult br, Model model, HttpServletRequest request,HttpServletResponse response) throws Exception {
		if (br.hasErrors()) //验证输入参数
			return JsonResultBuilder.error(ReturnCode.INPUT_PARAM_ERROR);	 
		if(bookService.getBook(book.getBarcode()) != null) //验证主键是否重复
			return JsonResultBuilder.error(ReturnCode.PRIMARY_EXIST_ERROR);
        bookService.addBook(book); //添加到数据库
        return JsonResultBuilder.ok();
	}
	
	
	/*客户端ajax更新图书信息*/
	@RequestMapping(value = "/update", method = RequestMethod.POST)
	public JsonResult update(@Validated Book book, BindingResult br, Model model, HttpServletRequest request,HttpServletResponse response) throws Exception {
		if (br.hasErrors())  //验证输入参数
			return JsonResultBuilder.error(ReturnCode.INPUT_PARAM_ERROR);  
        bookService.updateBook(book);  //更新记录到数据库
        return JsonResultBuilder.ok(bookService.getBook(book.getBarcode()));
         
	}
	 
	
	/*ajax方式显示获取图书详细信息*/
	@RequestMapping(value="/get/{barcode}",method=RequestMethod.POST)
	public JsonResult getBook(@PathVariable String barcode,Model model,HttpServletRequest request,HttpServletResponse response) throws Exception {
        /*根据主键barcode获取Book对象*/
        Book book = bookService.getBook(barcode); 
        return JsonResultBuilder.ok(book);
	}
	
	
	/*ajax方式删除图书记录*/
	@RequestMapping(value="/delete/{barcode}",method=RequestMethod.POST)
	public JsonResult deleteBook(@PathVariable String barcode,Model model,HttpServletRequest request,HttpServletResponse response) throws Exception {
		bookService.deleteBook(barcode);
        return JsonResultBuilder.ok();
	}
	
	//客户端查询图书信息
	@RequestMapping(value="/list",method=RequestMethod.POST)
	public JsonResult list(String barcode,String bookName,@ModelAttribute("bookTypeObj") BookType bookTypeObj,String publishDate,Integer page,Integer rows, Model model, HttpServletRequest request,HttpServletResponse response) throws Exception{
		if (page==null || page == 0) page = 1;
		if (barcode == null) barcode = "";
		if (bookName == null) bookName = "";
		if (publishDate == null) publishDate = ""; 
		if(rows != 0)bookService.setRows(rows);
		List<Book> bookList = bookService.queryBook(barcode, bookName, bookTypeObj, publishDate, page);
	    /*计算总的页数和总的记录数*/
	    bookService.queryTotalPageAndRecordNumber(barcode, bookName, bookTypeObj, publishDate);
	    /*获取到总的页码数目*/
	    int totalPage = bookService.getTotalPage();
	    /*当前查询条件下总记录数*/
	    int recordNumber = bookService.getRecordNumber();
	    
	    HashMap<String, Object> resultMap = new HashMap<String, Object>();
	    resultMap.put("totalPage", totalPage);
	    resultMap.put("list", bookList);
	    
		return JsonResultBuilder.ok(resultMap);
	}
	
	
	
	//客户端查询5本最新出版的图书记录*/
	@RequestMapping(value="/latest_list",method=RequestMethod.POST)
	public JsonResult latestList(String barcode,String bookName,@ModelAttribute("bookTypeObj") BookType bookTypeObj,String publishDate,Integer page,Integer rows, Model model, HttpServletRequest request,HttpServletResponse response) throws Exception{
		
		List<Book> bookList = bookService.queryLatestBook(); 
	    HashMap<String, Object> resultMap = new HashMap<String, Object>(); 
	    resultMap.put("list", bookList);
	    
		return JsonResultBuilder.ok(resultMap);
	}
}


/**
 * 图书类型模块controller
 */

@RestController
@RequestMapping("/api/bookType") 
public class ApiBookTypeController {
	
	@Resource BookTypeService bookTypeService;
	
	@RequestMapping(value="/listAll",method=RequestMethod.POST)
	public JsonResult list(String barcode,String bookName,@ModelAttribute("bookTypeObj") BookType bookTypeObj,String publishDate,Integer page,Integer rows, Model model, HttpServletRequest request,HttpServletResponse response) throws Exception{
		List<BookType> bookTypeList = bookTypeService.queryAllBookType(); 
		return JsonResultBuilder.ok(bookTypeList);
	}
}

数据库
DROP TABLE IF EXISTS `t_book`;
CREATE TABLE `t_book`  (
  `barcode` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'barcode',
  `bookName` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '图书名称',
  `bookTypeObj` int(11) NOT NULL COMMENT '图书所在类别',
  `price` float NOT NULL COMMENT '图书价格',
  `count` int(11) NOT NULL COMMENT '库存',
  `publishDate` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '出版日期',
  `publish` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '出版社',
  `bookDesc` varchar(800) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '图书简介',
  PRIMARY KEY (`barcode`) USING BTREE,
  INDEX `bookTypeObj`(`bookTypeObj`) USING BTREE,
  CONSTRAINT `t_book_ibfk_1` FOREIGN KEY (`bookTypeObj`) REFERENCES `t_booktype` (`bookTypeId`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

-- ----------------------------
-- Records of t_book
-- ----------------------------
INSERT INTO `t_book` VALUES ('19971010', 'spring', 4, 13, 15, '2018-11-04', '替代servlet', '大大简便!!');
INSERT INTO `t_book` VALUES ('19980206', 'jQuery开发', 5, 55, 55, '2019-11-04', '我的出版社', '前端开发必备基础!!');
INSERT INTO `t_book` VALUES ('19990303', '墨刀工具', 3, 42, 100, '2020-11-05', '墨刀出版社', '墨刀很强大!!');
INSERT INTO `t_book` VALUES ('19990316', 'vue.js', 5, 35, 99, '2018-11-04', '上海出版社', 'vue.js简单快速!!');
INSERT INTO `t_book` VALUES ('19990317', 'Java的文件操作', 4, 50, 120, '2018-11-03', '北京出版社', 'Java基础操作,基础又重要。');
INSERT INTO `t_book` VALUES ('20001212', 'ps进阶', 3, 56, 100, '2020-09-03', '清华出版社', 'ps很强大!!!!');
INSERT INTO `t_book` VALUES ('20120916', 'mybatis', 4, 56, 100, '2017-11-04', '傻瓜出版社', '操作数据库');
INSERT INTO `t_book` VALUES ('20151212', 'pr', 3, 12, 12, '2018-11-05', '素材出版社', 'pr视频很重要');

-- ----------------------------
-- Table structure for t_booktype
-- ----------------------------
DROP TABLE IF EXISTS `t_booktype`;
CREATE TABLE `t_booktype`  (
  `bookTypeId` int(11) NOT NULL AUTO_INCREMENT COMMENT '图书类别',
  `bookTypeName` varchar(18) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '类别名称',
  `days` int(11) NOT NULL COMMENT '可借阅天数',
  PRIMARY KEY (`bookTypeId`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

-- ----------------------------
-- Records of t_booktype
-- ----------------------------
INSERT INTO `t_booktype` VALUES (3, 'UI/UE', 90);
INSERT INTO `t_booktype` VALUES (4, 'Java', 90);
INSERT INTO `t_booktype` VALUES (5, '前端', 90);

SET FOREIGN_KEY_CHECKS = 1;


源码地址

链接:https://pan.baidu.com/s/1NzJGdSPrq_zyhkfOutur4w?pwd=0b4o
提取码:0b4o

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_2537071370

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值