mybatis练习2
题目:图书馆管理系统
数据库表结构
- 书籍表(book)
- id (主键, 自增)
- title (书名)
- author(作者)
- publish_date(出版日期)
- category_id(分类ID)
- 分类表(category)
- 借阅记录表(borrow_record)
- id (主键, 自增)
- book_id (书籍ID, 外键)
- user_id (用户ID, 外键)
- borrow_date (借阅日期)
- return_date(归还日期)
- 用户表(user)
- id(主键, 自增)
- name(用户姓名)
- gender(性别)
- age(年龄)
题目要求
- 动态查询书籍信息
- 要求:根据传入的参数动态查询书籍信息。参数包括书名(模糊查询)、作者、分类名称、出版日期范围。
- 示例:查询书名包含"Java"、作者为"John"、分类为"计算机"、出版日期在2010年到2020年之间的书籍。
- 分页查询所有书籍及其借阅记录
- 要求:分页查询所有书籍的书名、作者、分类名称、借阅次数,每页显示10条记录。
- 统计每个分类的书籍数量
- 要求:统计每个分类的书籍数量,并按照数量从高到低排序。
- 提示:需要关联书籍表和分类表。
- 查询未借阅的书籍
- 查询每本书的借阅次数
- 要求:查询每本书的借阅次数,并按照借阅次数从高到低排序。
- 动态更新书籍信息
- 要求:根据传入的参数动态更新书籍信息。参数包括书籍ID、书名、作者、出版日期、分类ID,只更新非空的字段。
- 提示:使用 MyBatis 的动态 SQL
- 查询每个用户的借阅记录
- 要求:查询每个用户的姓名、借阅的书籍名称、借阅日期、归还日期。
- 提示:需要关联用户表、书籍表和借阅记录表。
- 查询借阅次数最多的前10本书
- 要求:查询所有书籍中,借阅次数最多的前10本书的信息(包括书名、作者、分类名称、借阅次数)。
- 查询每本书的最后一次借阅记录
- 要求:查询每本书的最后一次借阅记录(包括书名、借阅者姓名、借阅日期)。
- 提示:需要对借阅记录表按书籍ID分组,并取每组中最大的借阅日期。