跳转到主要内容
你行网

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