跳转到主要内容
你行网

Main navigation

  • 首页
  • 文章
  • 教程
  • 视频
  • 下载
  • 社区
  • 网站导航
User account menu
  • 登录

面包屑

  1. 首页

Mybatis+JUL+Lombok+Maven的图书管理系统

由 hzh, 19 四月, 2023

基于Mybatis+JUL+Lombok+Maven的图书管理系统(带单元测试)

项目需求:

  • 在线录入学生信息和书籍信息
  •  
  • 查询书籍信息列表
  • 查询学生信息列表
  • 查询借阅信息列表
  • 完整的日志系统
  • package book_mange;
    
    import book_mange.entity.Book;
    import book_mange.entity.Student;
    import book_mange.util.SqlUtil;
    import lombok.extern.java.Log;
    import org.apache.ibatis.io.Resources;
    
    import java.io.IOException;
    import java.util.Scanner;
    import java.util.logging.LogManager;
    
    @Log
    public class Main {
        public static void main(String[] args) throws IOException {
            try(Scanner sc = new Scanner(System.in)){
                LogManager manager = LogManager.getLogManager();
                manager.readConfiguration(Resources.getResourceAsStream("logging.properties"));
    
                while (true){
                    System.out.println("====================================");
                    System.out.println("1.录入学生信息");
                    System.out.println("2.录入书籍信息");
                    System.out.println("3.添加借阅信息");
                    System.out.println("4.展示借阅信息");
                    System.out.println("5.展示学生信息");
                    System.out.println("6.展示书籍信息");
                    System.out.println("输入想要执行的操作,输入任意数字推出");
                    int input;
                    try {
                        input = sc.nextInt();
                    }catch (Exception e){
                        return;
                    }
                    switch (input){
                        case 1:
                            addStudent(sc);
                            break;
                        case 2:
                            addBook(sc);
                            break;
                        case 3:
                            addBorrow(sc);
                            break;
                        case 4:
                            showBorrow();
                            break;
                        case 5:
                            showStudentList();
                            break;
                        case 6:
                            showBookList();
                            break;
                        default:
                            return;
                    }
                }
            }
        }
    
        /**
         * addStudent
         * @param sc
         */
        private static void addStudent(Scanner sc){
            System.out.println("请输入学生名字");
            String name = sc.next();
            System.out.println("请输入学生性别");
            String sex = sc.next();
            System.out.println("请输入学生年级");
            int grade = sc.nextInt();
            Student student = new Student(name,sex,grade);
            SqlUtil.doWork(bookMapper -> {
                int i = bookMapper.addStudent(student);
                if (i > 0){
                    System.out.println("学生信息录入成功");
                    log.info("插入成功" + student);
                }else{
                    System.out.println("学生信息录入失败,请重试!");
                    log.info("插入失败");
                }
            });
        }
    
        /**
         * addBook
         * @param sc
         */
        private static void addBook(Scanner sc){
            System.out.println("请输入书籍名称");
            String title = sc.next();
            System.out.println("请输入书籍简介");
            String desc = sc.next();
            System.out.println("请输入书籍价格");
            double price = sc.nextDouble();
            Book book = new Book(title,desc,price);
            SqlUtil.doWork(bookMapper -> {
                int i = bookMapper.addBook(book);
                if (i > 0){
                    System.out.println("书籍信息录入成功");
                    log.info("插入成功" + book);
                }else{
                    System.out.println("书籍信息录入失败,请重试!");
                    log.info("插入失败");
                }
            });
        }
    
        private static void addBorrow(Scanner sc){
            System.out.println("请输入书籍号");
            int bid = sc.nextInt();
            System.out.println("请输入学生号");
            int sid = sc.nextInt();
            SqlUtil.doWork(bookMapper -> {
                int i = bookMapper.addBorrow(sid,bid);
                if (i > 0){
                    System.out.println("添加借阅信息录入成功");
                    log.info("添加借阅信息成功" + sid + bid);
                }else{
                    System.out.println("添加借阅信息录入失败,请重试!");
                    log.info("添加借阅信息录入失败");
                }
            });
        }
        private static void showBorrow(){
            SqlUtil.doWork(bookMapper -> {
                bookMapper.getBorrowList().forEach(borrow -> {
                    System.out.println(borrow.getStudent().getName() + "->" + borrow.getBook().getTitle());
                    log.info("展示借阅信息成功" + borrow.getStudent().getName() + "->" + borrow.getBook().getTitle());
                });
            });
        }
        private static void showStudentList(){
            SqlUtil.doWork(bookMapper -> {
                bookMapper.getStudentList().forEach(System.out::println);
                log.info("展示学生信息成功" );
            });
        }
    
        private static void showBookList(){
            SqlUtil.doWork(bookMapper -> {
                bookMapper.getBookList().forEach(System.out::println);
                log.info("展示书籍信息成功" );
            });
        }
    }
    

     

  • 运行方法 :在cmd界面用 java -jar 路径运行

标签

  • java
  • 登录或注册以发表评论

评论

相关文章

实验6 Java的类的定义和使用
用递归的思想解决frogJump问题
java求水仙花数

文章标签

CSS
Excel
ubuntu
php
五笔
vim
Linux
HTML
command
drupal 7
VPN
centos
composer
Mysql
drupal 8
模块(module)
drush
JavaSrcipt
apache
drupal 9
英语
Drupal
SEO
nerdtree
network
果树种植
surround
drupal10
主题(theme)
phpmyadmin
ssh
二进制
yum
权限
声音
selinux
ssl
HTML5
用户
Dreamweaver
password
flameshot
颜色
翻译
uploadprogress
DDEV
视图(views)
firewalld
kernel
快捷键
gzip
xdebug
错误
ckeditor
简介
电脑基础
源地址
C语言
mbstring
certbot
php扩展
WireGuard
邮件验证
git
apt
电子秤
httpd
压缩解压
表单
breadcrumb
AI
superfish
摄影
重定向
diff
网站备份
短信验证
tagclouds
java
docker
csharp
adsense
drupal9
电脑技巧
RSS
simple_adsense
版本号
算法
端口
youtube
JavaScript
cookie
badblocks
VUE
网站运营
计算机基础
RFID
gimp
nginx
form
mod_expires 模块
http验证
zip
curl
赚钱
标签优化
drupal11
ip
重定向,301
dns
netstat
maven
input
drupal 11
字段
npm
哈希值
wps
更多
RSS源
本站由阿里云强力驱动,幸运券优惠链接
Copyright © 2019 - 2021 你行网 版权所有  粤ICP备19072650号