跳转到主要内容
你行网

Main navigation

  • 首页
  • Drupal
  • 编程与开发
  • 数据库
  • 操作系统与应用
  • 服务器与运维
  • 社区
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 路径运行
  • 登录或注册以发表评论
  • 31 次浏览
内容类型分类
编程与开发
文章归类
后端开发

文章标签

  • java

评论

最新文章

  • mysql 签名无效更新报错误问题
  • 网站用户会员积分设计方案
  • Views Bulk Operations (VBO) 这个模块有什么作用,应用场景是什么。
  • 配置一个完整的Web服务器环境(LNMP:Linux + Nginx + MySQL + PHP)。
  • Nginx 各种应用场景
  • 什么是无头cms
  • 什么是站群
  • drupal 10如何配置nginx 服务器
  • nginx 多站点配置方法
  • OpenClaw 帮助文件的翻译版本
更多

标签云

adsenseAIApacheaptbadblocksbreadcrumbbrewcentoscertbotckeditorcommandcomposercookiecsharpCSScurlC语言DDEVdiffdnsdockerDreamweaverDrupaldrupal 7drupal 8drupal 9drupal10drupal 11drushExcelfirewalldfirmwareflameshotformgimpgitgzipHTMLHTML5httpdhttp验证inputipjavaJavaScriptJavaSrciptkernelKVMLinuxmavenmbstringmod_expires 模块MysqlnerdtreenetstatnetworknginxnpmOpenClawpasswordphpphpmyadminphp扩展RFIDRSSselinuxSEOsharesimple_adsensesshsslStatisticssuperfishsurroundtagcloudstitleubuntuuploadprogressViews Bulk OperationsvimVPNVUEweb服务器WireGuardwpsxdebugyoutubeyumzip主题主题(theme)二进制五笔分类术语压缩解压哈希值声音字段密码工作流快捷键摄影无头cms更新权限果树种植标签优化模块模块(module)源地址版本号电子秤电脑基础电脑技巧短信验证积分站群端口简介算法网站备份网站安全网站运营翻译英语表单视图(views)计算机基础赚钱超五类线网线邮件验证重定向重定向,301错误颜色

相关文章

  • 网站用户会员积分设计方案
  • OpenClaw 帮助文件的翻译版本
  • OpenClaw 恢复初始安装状态的方法
  • OpenClaw基本操作命令
  • openclaw安装在云服务器,需要什么条件
  • 如果把openclaw安装在云服务器,那么openclaw可以为我带来什么?
  • php json_encode 函数将编码值转为json格式
  • php 用户自定义回调函数实例
  • php 回调函数实例
  • 匿名函数(Anonymous Functions)详解
RSS源

关于我们

  • 你行网简介
  • 关于我们
  • 版权声明

网站相关

  • 社区论坛
  • 站点反馈
  • 网址导航
  • 网站地图

友情链接

  • 申请链接
  • 英文学习

友情链接2

  • drupal 大学
  • 水滴间
  • 爱码网
  • Apache

友情链接3

  • MySQL
  • php
  • drupalcode

友情链接4

  • Drupal 中国
  • Drupal 老葛
  • 宁浩网
  • drupal 台湾
Copyright © 2019 - 2021 你行网 版权所有  粤ICP备19072650号-1