Java swing项目-图书管理系统(swing+mysql+jdbc)
(一)项目功能分析
该项目是设计一个图书管理系统,主要包含的内容有:
(1)管理员登陆界面
->信息录入
->登录
->重置
(2)图书管理系统总界面
->子界面菜单:
1)图书类别添加子界面:
->图书类别信息录入
->图书类别添加
->图书类别信息重置
2)图书类别管理子界面:
->显示所有的图书类别
->查询图书类别
->修改的图书类别信息显示
->修改图书类别信息
->删除图书类别
3)图书添加子界面:
->图书信息录入
->图书添加
->图书信息重置
4)图书管理子界面:
->显示所有的图书
->查询图书
->修改的图书信息显示
->修改图书信息
->删除图书
5)关于我们:
->显示项目名称
(二)项目设计准备工作:
技术:swing+jdbc+mysql.
开发工具:eclipse+windowbuilder+sqlyog
(三)设计模式
该项目采用类MVC设计思想,主要将代码放入四个包中,分别是:
(1)util包:存放一些工具类,例如DBUtil,用于获取数据库连接和关闭数据库连接。
(2)dao包:存放一些数据库访问对象,执行数据的增删改查。例如BookDao类。
(3)model包:存入项目中的一些实体对象。例如Book类。
(4)view包:存入项目的界面设计(其中包括程序的控制逻辑代码C)。例如管理登录界面。
(四)项目的实现
该项目主要是按照界面的设计顺序:
(1)创建项目BookManager,并创建四个包——util、dao、model和view
(2)导入mysql的驱动jar包——mysql-connector-java-5.1.36.jar
(3)在项目src下创建images文件夹,添加项目所需图片
(4)利用sqlyog创建mysql数据库db_book,并在里面添加三张表t_user , t_book , t_bookType
(4)创建数据库工具类:DBTool类
->创建db.properties文件,并在文件里存入数据库驱动driver,数据库地址url,数据库用户user,数据库密码password。
->创建DBTool类,在类中利用静态代码块实现获取db.properties中的各个参数。
->创建两个方法用于获取数据库库连接和关闭数据库连接。
(5)管理员登录界面的实现
->在数据库表t_user插入管理员信息
->在项目model包中创建按JavaBean规范创建User实体类。
->在dao包中创建UserDao类,并在其中创建login()方法,用于验证管理员登录信息是否正确
->在view包中创建LoginFrame类,利用windowbuilder插件进行登录界面设计
->重置事件处理
->登录事件处理(信息正确进入主界面)
(5)图书管理系统主界面的实现

->在view包中创建MainFrame类,利用windowbuilder插件进行登录界面设计
->在主界面添加菜单栏,并进行如下菜单结构设计
->基本数据维护(菜单)
->图书类别管理(菜单)
->图书类别添加(菜单项)
->图书类别维护(菜单项)
->图书管理(菜单)
->图书添加(菜单项)
->图书维护(菜单项)
->安全退出(菜单项)
->关于我们(菜单)
->关于我们(菜单项)
->为每个菜单项添加事件,没点击一个菜单项,都会进入到一个子界面中。
(6)依照菜单项,依次设计子界面以及逻辑代码。
->图书类别添加子界面——BookTypeAddInterFrame

->图书类别维护子界面——BookTypeManageInterFrame

->图书添加子界面——BookAddInterFrame

->图书维护子界面——BookManageInterFrame

->安全退出
dsipose()方法,释放窗体资源。
->关于我们子界面——LibraryInterFrame

Java swing项目-图书管理系统(swing+mysql+jdbc)的更多相关文章
- Java swing项目-图书管理系统(swing+mysql+jdbc) 总结
(一)java Swing的学习. (1)学习如何安装windowbuilder插件的安装. <1>在eclipse中点击help <2>在help的下拉选中选择install ...
- java web 项目 图书管理系统的设计与实现
java web 项目 图书管理系统的设计与实现
- 简单的员工管理系统(Mysql+jdbc+Servlet+JSP)
员工管理系统 因为学业要求,需要完成一个过关检测,但是因为检测之前没有做好准备,且想到之前用mysql+jdbc+Struts2+bootstrap做成了一个ATM系统(主要有对数据的增删改查操作), ...
- ORM练习项目-图书管理系统(BMS)实现细节
分析 一本书 可以由多个作者编著 一本书只能由一个出版社出版 一个作者可以写多本书 每个作者有自己的简介 对应关系: Author-Book # 多对多 Publish-Book # 一对多 Auth ...
- javac 编译java文件提示: 程序包com.mysql.jdbc不存在
需要将引用的包放到:/usr/java/jdk1.7.0_75/jre/lib/ext 也就是jdk安装目录/jre/lib/ext 目录下面
- JAVA图书管理系统汇总共27个
好多人都在搜索图书管理系统,感觉这个挺受欢迎的,所以整理了一系列的图书管理系统,让大家选择.java图书馆管理系统[优秀毕业设计论文+源码]http://down.51cto.com/data/683 ...
- JAVA图书管理系统汇总共27个[转]
java图书馆管理系统[优秀毕业设计论文+源码]http://down.51cto.com/data/68350java+sql server图书管理系统 http://down.51cto.com/ ...
- java链接MySQL数据库时使用com.mysql.jdbc.Connection的包会出红线问题 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver问题
package com.swift; //这里导入的包是java.sql.Connection而不是com.mysql.jdbc.Connection import java.sql.Connecti ...
- Mybatis批量更新报错com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException
批量更新数据,非常简单的一段代码,硬是报错,插入的数据也能显示出来 List<User> userlist = new ArrayList<User>(); userlist. ...
随机推荐
- eclipse平台
eclipse 是一个平台!!!! 能连ssh,能连db,能连windows Eclipse http://www.eclipse.org/downloads/packages/release/Neo ...
- Microsoft .NET Framework NGEN是神马东东?
简单的说,如果你的程序是基于.net framework的托管代码的话,NGEN服务能让你的程序第二次打开的速度变快. 赶脚是非常pad化的一项服务. http://msdn.microsoft.co ...
- win7下IIS错误:"无法访问请求的页面,因为该页的相关配置数据无效"的解决方法(转)
今天新装win7,然后在IIS下布署了一个网站,布署完成后运行,提示如下错误:HTTP 错误 500.19 - Internal Server Error无法访问请求的页面,因为该页的相关配置数据无效 ...
- jquery中checkbox选中的问题之prop&attr惹的祸
一个网上很多的例子如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http: ...
- 优秀IT技术文章集(最新)(高质量)
作者:赵磊 博客:http://elf8848.iteye.com 阅读优秀的文章可以使你快速进步,本文收集了广受好评的优秀IT技术文章,在你有空时读一读,安静下来思考一下. 不断更新中... --- ...
- List<T>线性查找和二分查找BinarySearch效率分析
今天因为要用到List的查找功能,所以写了一段测试代码,测试线性查找和二分查找的性能差距,以决定选择哪种查找方式. 线性查找:Contains,Find,IndexOf都是线性查找. 二分查找:Bin ...
- log4net:保存自定义参数到数据库
log4net:保存日志到数据库 自定义参数 新建一个类,继承于PatternLayoutConverter public class CustomerPatternConverter : Patte ...
- 【巩固】JS获取时间的一些基础知识
就是一个new Date()对象,要注意的有以下几点; 直接给oDate对象设置年月日时分秒的时候要分成两步,oDate.setFullYear()接受三个参数分别是年月日,注意月份是从0开始计一月的 ...
- codeforces 356 C. Compartments 构造 贪心
一辆车,有n个车厢,每个车厢刚好有4个人 车上有n个学生,第i个车厢有a[i]个学生 如果一个车厢里面的学生数 <= 2,这个车厢里的学生会不开心 如果一个车厢里面的学生数 > 2,这个车 ...
- IO 输入流操作
//get.h #ifndef GET_H #define GET_H #include <iostream> std::istream& get(std::istream& ...