图书管理系统(问题、收获)

本文分享了项目中遇到的数据库设计问题,如完善文档、类型判断优化、BeanListHandler使用技巧和多表联合操作。作者通过解决这些问题,深化了对Java基础知识的理解,强调了项目实践对知识巩固的价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

做一个项目是一个非常好的习惯,同时也是我们这些初学者,最好的学习总结,对学习的内容有着完整的思路和查漏补缺的提醒。


一、问题

  1. 书写的设计文档内容不够完善,使得编写底层代码的时候方向出现了很多问题!
  解决办法:在理清完整的思路,方向:在进行设计文档的书写。
  2. 当某读者借阅书籍时,根据他的类型,要判断他是否还能借阅书籍,这时候由于多个读者具有同一个类型编号,如果我们在他的读者类型表中去修改就会造成,其它该属性的用户都会被修改。
  解决办法:在数据库中新增加一个表,该表只存储读者编号、读者类型编号和书本数,这样在对书籍进行借阅和归还时只需要知道读者编号,就可以对该读者的书本书进行修改了。而不会影响到读者类型表中的数据。
  3.数据库连接使用到BeanListHandler的时候一定要注意其内部具体的实体类,传输不过去,造成了数据错误或者无法传输。
  解决办法:这时候我们就需要考虑到,将实体类中的数据一定要完整,而且必须保证实体类中的变量和数据库表中的字段名完全一致。

//根据图书类型查询
    @Override
    public List<Books> selectBookByType(Object... args) {
        List<Books> result = null;
        Connection conn = null;
        try {
            QueryRunner runner = new QueryRunner();
            conn = JDBCUtils.getConnection3();
            String sql = "select * from l_books where bookTypeNumber = ? ";
            BeanListHandler<Books> handler = new BeanListHandler<>(Books.class);
            result = runner.query(conn, sql, handler, args);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            JDBCUtils.closeResource(conn, null);
        }
        return result;
    }

  4. 多表进行联合使用的时候,会造成大量代码的产生。
  解决办法:定义一个Service类,在该类中将需要用到的表的数据,通过DAL类中的方法,调取出来,然后再将数据进行传输到具体使用类中。

二、收获

  在本次的项目中其实收获到的最大的好处就是,将之前学习到的很多内容,进行了一个梳理,同时也对知识点有了更深的印象。使得自己对于哪些java基础知识有了一个更好的理解,同时对其会产生的问题有了一个具体的了解,当我在遇到的时候就会懂得如何去修改,以及能及时发现其中的错误。


总结

一个项目的完成,是对自己学习的知识一个很好的体现,同时也能让自己对很多内容有了更多的了解。

图书管理系统设计” 1、问题描述 定义图书类,属性有:书名、出版社、ISBN 号、作者、库存量、价格等信息相关的 对属性做操作的行为。 主要完成对图书的销售、统计图书的简单管理。 2、功能要求 (1)销售功能。购买书籍时,输入相应的 ISBN 号,并在书库中查找该书的相关信息。 如果有库存量,输入购买的册数,进行相应计算。如果库存量不够,给出提示信息,结束购 买。 (2)图书简单管理功能。 添加功能:主要完成图书信息的添加,要求 ISBN 号唯一。当添加了重复的编号时,则 提示数据添加重复并取消添加。 查询功能:可按书名、ISBN 号、作者、出版社进行查询。若存在相应信息,输出所查 询的信息,若不存在该记录,则提示“该标题不存在! ” 。 修改功能:可根据查询结果对相应的记录进行修改,修改时注意 ISBN 号的唯一性。 删除功能:主要完成图书信息的删除。输入要删除的 ISBN 号,根据编号删除该物品的 记录,如果该编号不在物品库中,则提示“该编号不存在” 。 (3)统计功能。 输出当前书库中所有图书的总数及详细信息;可按书的价格、库存量、作者、出版社进 行统计,输出统计信息时,要按从大到小进行排序。 (7)图书存盘:将当前程序中的图书信息存入文件中。 (8)读出信息:从文件中将图书信息读入程序
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值