导图社区 图书管理器bookmanage
图书管理器是一款用于图书馆或书店等场所的软件系统,旨在帮助用户更有效地管理图书资源。
编辑于2023-12-27 16:17:14bookmanage
dao
封装对数据库的访问:增删改查
BookDao
add:这个方法用于向数据库中添加新的图书信息。它接受一个Connection对象和一个Book对象作为参数。通过使用预编译的SQL语句和PreparedStatement对象,该方法将图书的各个属性(如书名、类型、作者、出版社、价格、数量、状态和备注)插入到数据库的book表中。
list:这个方法用于查询并返回符合特定条件的图书信息。它也接受一个Connection对象和一个Book对象作为参数。在构造SQL查询语句时,根据提供的条件(如书名、作者、类型ID、状态和ID),该方法从book表中检索图书信息,并可能从book_type表中检索类型名称。查询结果以ResultSet对象的形式返回。
listCan:这个方法用于查询并返回所有状态为1(即上架)的图书信息。它同样接受一个Connection对象和一个Book对象作为参数。在构造SQL查询语句时,该方法从book表中检索所有状态为1的图书信息,并可能从book_type表中检索类型名称。查询结果同样以ResultSet对象的形式返回。
BookTypeDao
BorrowDetailDao
UserDao
JFrame
AdminBookAdd
管理员手册添加
AdminBookEdit
管理员手册编辑
AdminBorrowInfo
管理员借用信息
AdminBTypeEdit
管理员B类型编辑
AdminMenuFrm
管理菜单
AdminUserInfo
管理员用户信息
LoginFrm
登录
RegFrm
右侧框架
UserMenuFrm
用户菜单
ValidCode
生成的验证码
model
Book
属性定义:类中定义了多个私有属性,包括bookId(图书ID)、bookName(图书名称)、author(作者)、status(状态,表示图书是否上架,1表示上架,2表示下架)、bookTypeId(图书类型ID)、publish(出版社)、number(库存数量)、price(价格)和remark(备注)。
获取器和设置器:对于每一个属性,都定义了对应的getter和setter方法。这些方法允许外部代码获取和修改这些私有属性的值。
BookType
属性定义:类中定义了三个私有属性,包括typeId(类型ID)、typeName(类型名称)和remark(备注)。
获取器和设置器:对于每一个属性,都定义了对应的getter和setter方法。这些方法允许外部代码获取和修改这些私有属性的值。
重写toString方法:该类重写了toString方法,使其返回类型名称而不是对象的默认字符串表示。这使得当你尝试打印或转换为字符串时,它将返回类型名称,而不是对象的内存地址等默认信息。
BorrowDetail
属性定义:类中定义了几个私有属性,包括borrowId(借书ID)、userId(用户ID)、bookId(图书ID)、status(状态,表示借书是否已归还,1表示在借,2表示已还)、borrowTime(借书时间)和returnTime(还书时间)。
获取器和设置器:对于每一个属性,都定义了对应的getter和setter方法。这些方法允许外部代码获取和修改这些私有属性的值。
User
属性定义:类中定义了几个私有属性,包括userId(用户ID)、userName(用户名)、password(密码)、role(角色,表示用户的权限级别,1表示普通用户,2表示管理员)、sex(性别)和phone(电话号码)。
获取器和设置器:对于每一个属性,都定义了对应的getter和setter方法。这些方法允许外部代码获取和修改这些私有属性的值。
utils
DbUtil
java.sql.Connection: 用于表示一个数据库连接。
java.sql.DriverManager: 用于管理数据库驱动,并帮助建立数据库连接。
定义DbUtil类:
该类具有四个私有成员变量:dbDriver、dbUrl、dbUserName和dbPassword,分别用于存储数据库驱动的类名、数据库的URL、用户名和密码。
getConnection()方法:
该方法首先使用Class.forName(dbDriver)加载数据库驱动。
然后,它使用DriverManager.getConnection(dbUrl, dbUserName, dbPassword)建立与数据库的连接,并返回该连接。
如果在建立连接过程中出现异常,该方法会抛出异常。
closeCon(Connection con)方法:
该方法接收一个Connection对象作为参数。
如果传入的连接不为空,该方法会关闭这个连接。这是一个简单的资源管理方法,确保数据库连接在使用完毕后被正确关闭。
toolUtil
isEmpty(String str): 这个方法用于检查一个字符串是否为空。如果传入的字符串为null或者是一个空字符串(只包含空格),则返回true,否则返回false。
getTime(): 这个方法返回当前时间的毫秒值(自1970年1月1日00:00:00 GMT以来的毫秒数)。
getDateByTime(Long time): 这个方法接受一个时间戳(毫秒值)作为参数,并使用SimpleDateFormat对象将其转换为"yyyy-MM-dd HH:mm:ss"格式的字符串。
getUser(HttpSession session): 这个方法从HTTP会话中获取名为"user"的属性,并将其转换为User对象。如果该属性不存在,则返回null。
setUser(HttpSession session, User user): 这个方法将一个User对象添加到HTTP会话中,并将其命名为"user"。