mybatis练习2

题目:图书馆管理系统

数据库表结构
  1. 书籍表(book)
  • id (主键, 自增)
  • title (书名)
  • author(作者)
  • publish_date(出版日期)
  • category_id(分类ID)
  1. 分类表(category)
  • id (主键, 自增)
  • name(分类名称)
  1. 借阅记录表(borrow_record)
  • id (主键, 自增)
  • book_id (书籍ID, 外键)
  • user_id (用户ID, 外键)
  • borrow_date (借阅日期)
  • return_date(归还日期)
  1. 用户表(user)
  • id(主键, 自增)
  • name(用户姓名)
  • gender(性别)
  • age(年龄)

题目要求
  1. 动态查询书籍信息
  • 要求:根据传入的参数动态查询书籍信息。参数包括书名(模糊查询)、作者、分类名称、出版日期范围。
  • 示例:查询书名包含"Java"、作者为"John"、分类为"计算机"、出版日期在2010年到2020年之间的书籍。
  1. 分页查询所有书籍及其借阅记录
  • 要求:分页查询所有书籍的书名、作者、分类名称、借阅次数,每页显示10条记录。
  1. 统计每个分类的书籍数量
  • 要求:统计每个分类的书籍数量,并按照数量从高到低排序。
  • 提示:需要关联书籍表和分类表。
  1. 查询未借阅的书籍
  • 要求:查询所有未被借阅过的书籍信息。
  1. 查询每本书的借阅次数
  • 要求:查询每本书的借阅次数,并按照借阅次数从高到低排序。
  1. 动态更新书籍信息
  • 要求:根据传入的参数动态更新书籍信息。参数包括书籍ID、书名、作者、出版日期、分类ID,只更新非空的字段。
  • 提示:使用 MyBatis 的动态 SQL
  1. 查询每个用户的借阅记录
  • 要求:查询每个用户的姓名、借阅的书籍名称、借阅日期、归还日期。
  • 提示:需要关联用户表、书籍表和借阅记录表。
  1. 查询借阅次数最多的前10本书
  • 要求:查询所有书籍中,借阅次数最多的前10本书的信息(包括书名、作者、分类名称、借阅次数)。
  1. 查询每本书的最后一次借阅记录
  • 要求:查询每本书的最后一次借阅记录(包括书名、借阅者姓名、借阅日期)。
  • 提示:需要对借阅记录表按书籍ID分组,并取每组中最大的借阅日期。
相关推荐
java_logo几秒前
Apache Doris Docker 部署指南:实时分析数据库实战
数据库·docker·apache·doris·apache doris·轩辕镜像·docker部署doris
咩咩啃树皮6 小时前
第40篇:Vue3组件化开发精讲——组件拆分、复用、父子通信、工程化架构
java·前端·架构
鱟鲥鳚7 小时前
Spring Boot 集成 LangChain4j:从模型调用到 Tool Calling(Demo版)
java·spring boot
广州灵眸科技有限公司7 小时前
xfce桌面触摸校准:基于灵眸科技EASY-EAl-Orin-Nano
数据库·windows·科技
大模型码小白8 小时前
【Python零基础教程】继承、多态与魔法函数:面向对象编程三大核心特性详解
java·大数据·开发语言·人工智能·python·ai编程
腾渊信息科技公司9 小时前
Spring Boot对接MES实战:视觉检测数据自动同步方案
java·人工智能·spring boot·后端·计算机视觉·ai·软件需求
爱笑的源码基地10 小时前
高并发 Redis 缓存门诊HIS系统源码,含财务统计药房进销存
java·程序·门诊系统·诊所系统·云诊所源码
憧憬成为web高手10 小时前
皮卡丘靶场速通--sql 2
数据库·sql·mybatis
wuqingshun31415910 小时前
TCP超时重传机制是为了解决什么问题?
java
段一凡-华北理工大学10 小时前
向量数据库实战:选型、调优与落地~系列文章12:文本分块策略实战:chunk_size 怎么选?重叠多少?
开发语言·数据库·后端·oracle·rust·工业智能体·高炉智能化