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分组,并取每组中最大的借阅日期。
相关推荐
海市公约19 分钟前
MySQL更新语句执行全流程:从Buffer Pool修改到二阶段提交
数据库·mysql·binlog·innodb·undo log·二阶段提交·update执行原理
她的男孩29 分钟前
从零搭一个企业后台,为什么我把能力拆成 Starter 和 Plugin
java·后端·架构
RainCity32 分钟前
Java Swing 自定义组件库分享(七)
java·笔记·后端
Sam_Deep_Thinking37 分钟前
连锁门店的外卖订单平台对接
java·微服务·架构·系统架构
颂love40 分钟前
MySQL的执行流程
android·数据库·mysql
_遥远的救世主_1 小时前
从一次结果集密集型查询 OOM 看 Java 服务的稳定性架构治理
java·后端
一楼的猫1 小时前
从工具链视角对比:番茄作家助手 vs 第三方写作辅助方案
java·服务器·开发语言·前端·学习·chatgpt·ai写作
程序leo源1 小时前
Qt窗口详解
开发语言·数据库·c++·qt·青少年编程·c#
这个DBA有点耶1 小时前
COUNT进阶:超大表的近似计数与HyperLogLog
数据库·sql·程序人生·学习方法·dba·改行学it
武子康1 小时前
调查研究-138 全球机器人产业深度调研报告【01 篇】:市场规模、竞争格局与商业化成熟 2026
服务器·数据库·ai·chatgpt·机器人·具身智能