{"id":21974156,"url":"https://github.com/javaobjects/libary","last_synced_at":"2025-07-13T05:38:48.968Z","repository":{"id":105562418,"uuid":"188425836","full_name":"javaobjects/libary","owner":"javaobjects","description":"CMS-图书管理系统","archived":false,"fork":false,"pushed_at":"2019-06-02T08:23:07.000Z","size":2916,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-28T03:17:17.828Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/javaobjects.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-05-24T13:24:05.000Z","updated_at":"2019-07-25T06:51:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"5245346e-5764-437a-9fd1-bf61cc213a7f","html_url":"https://github.com/javaobjects/libary","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/javaobjects%2Flibary","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/javaobjects%2Flibary/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/javaobjects%2Flibary/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/javaobjects%2Flibary/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/javaobjects","download_url":"https://codeload.github.com/javaobjects/libary/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245033801,"owners_count":20550337,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-29T15:39:01.189Z","updated_at":"2025-03-22T23:25:42.328Z","avatar_url":"https://github.com/javaobjects.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 图书管理系统\n\n此项目是一个[cms(内容管理系统)](https://baike.baidu.com/item/CMS/315935?fr=aladdin)JAVASE项目;\n\n### 使用语言：java\n\n### 配置环境：jdk 1.8\n\n### 开发工具：eclipse\n\n### 模块划分\n\n#### 用户前台模块部分：\n```\n1. 注册信息\n2. 用户登陆\n3. 查看所有图书信息\n4. 查看热门图书信息\n5. 查看可借图书信息\n6. 查看已借图书信息(不可借)\n7. 查看本人所有借书记录\n8. 查看本人未归还图书记录\n9. 查看本人已归还图书记录(已还借书记录)\n10. 借书\n11. 还书\n```\n#### 管理员后台模块部分：\n```\n1. 用户登陆\n2. 查看所有图书信息 ----未完成 样式完成\n3. 查看指定编号的图书信息----未完成 样式完成\n4. 查看指定书名的图书信息----未完成 样式完成\n5. 添加图书----未完成 样式完成\n6. 删除图书----未完成 样式完成\n7. 修改图书----未完成 样式完成\n8. 查看指定用户的借书历史记录----未完成 样式完成\n9. 查看指定图书的借出历史记录----未完成  样式完成\n```\n![系统结构图](config/images/systemStructure.png)\n\n### 总体架构：\n```\nMVC设计模式：\n1.View视图层：各个Frame，有登陆窗体，注册窗体，查询图书信息窗体，查询借书信息窗体\n2.Controller层：Listener\n3.Model层：Service\n4.数据访问层：Dao\n```\n![总体架构](config/images/architecture.png)\n\n### 技术选型：\n```\n数据库：Oralce11G\nJDBC工具：DBUtils\n层与层之间解耦合：工厂设计模式\n数据展示控件：JTable\n访问数据库的查询方法封装使用技术：泛型，反射机制\n```\n### 数据库设计\n\n#### libary_tab_Book表\n\n|  列名\t  |  数据类型\t|  可否为空\t |  说明  |\n| ------  | ---------- | --------- | ------ |\n|book_id\t|int\t|not null\t|书籍编号，自增长|\n|book_name\t|varchar\t|not null\t|书籍名称|\n|book_count\t|int\t|not null\t|借出次数|\n|book_status\t|int\t|not null\t|书籍状态（0，已借出，1，可借）|\n\n#### libary_tab_Users表\n|  列名\t |  数据类型  |  可否为空  |  说明  |\n| ------ | -------- | --------- | ------ |\n|user_id |\tint|\tnot null|\t用户编号，自增长|\n|user_name|\tvarchar|\tnot null|\t用户名，唯一|\n|user_password|\tvarchar\t|not null|\t用户密码|\n|user_type\t|int|\tnot null|\t用户类型，1，普通用户，2，管理员|\n\n### libary_tab_Record表\n\n|  列名\t|  数据类型  |  可否为空  |\t 说明  |\n| -----  | --------- | --------- | ------ |\n| record_id\t| int | not null\t| 记录编号，自增长|\n| user_id\t| int | not null\t| 借书人的编号，外键|\n| book_id\t| int  | not null\t| 书籍编号，外键|\n| lend_time\t| date | not null\t| 借出时间|\n|return_time | date || 归还时间 |\n\n\n### 项目coding bug总结：\n\n1. 数据库列名与代码中列名不一致 报标识符无效\n\n![](https://upload-images.jianshu.io/upload_images/5227364-12d82ff45bfffbef.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\n\n2. switch 里少写一种条件 无法得到数据\n![](https://upload-images.jianshu.io/upload_images/5227364-53d4f26ba55d14c5.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\n\n3. insert into tab_record(record_id,book_id,user_id,lend_time) values(seq_record_id.nextval,?,?,sysdate)语句少最后一个“）”号\n![](https://upload-images.jianshu.io/upload_images/5227364-5d2e464b4e9e97d0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\n\n4. select seq_record_id.nextval from dual; 值被占用。。\n解决方法 在pl/sql工具中多执行几次直到大于当前表的索引值\n![](https://upload-images.jianshu.io/upload_images/5227364-2f263389b8e4cd55.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\n5. JInternalFrame窗体无法关闭 原因：this.setDefaultCloseOperation()里参数DISPOSE_ON_CLOSE/EXIT_ON_CLOSE混淆 正确值应该是 DISPOSE_ON_CLOSE\n![](https://upload-images.jianshu.io/upload_images/5227364-1bfde1ded786ca91.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\n6. sql语句后面多写分号 例：\"insert into tab_user(user_id,user_name,user_password,user_type)\"\n\t\t\t+ \" values((select max(user_id) from tab_user)+1,?,?,?);\" 正确写法应该是:\"insert into tab_user(user_id,user_name,user_password,user_type)\"\n\t\t\t+ \" values((select max(user_id) from tab_user)+1,?,?,?)\"\n![](https://upload-images.jianshu.io/upload_images/5227364-b97e60aa43f069d5.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjavaobjects%2Flibary","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjavaobjects%2Flibary","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjavaobjects%2Flibary/lists"}