前言
做一个项目是一个非常好的习惯,同时也是我们这些初学者,最好的学习总结,对学习的内容有着完整的思路和查漏补缺的提醒。
一、问题
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基础知识有了一个更好的理解,同时对其会产生的问题有了一个具体的了解,当我在遇到的时候就会懂得如何去修改,以及能及时发现其中的错误。
总结
一个项目的完成,是对自己学习的知识一个很好的体现,同时也能让自己对很多内容有了更多的了解。