(一)项目功能分析

   该项目是设计一个图书管理系统,主要包含的内容有:

    (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)的更多相关文章

  1. Java swing项目-图书管理系统(swing+mysql+jdbc) 总结

    (一)java Swing的学习. (1)学习如何安装windowbuilder插件的安装. <1>在eclipse中点击help <2>在help的下拉选中选择install ...

  2. java web 项目 图书管理系统的设计与实现

     java web 项目 图书管理系统的设计与实现

  3. 简单的员工管理系统(Mysql+jdbc+Servlet+JSP)

    员工管理系统 因为学业要求,需要完成一个过关检测,但是因为检测之前没有做好准备,且想到之前用mysql+jdbc+Struts2+bootstrap做成了一个ATM系统(主要有对数据的增删改查操作), ...

  4. ORM练习项目-图书管理系统(BMS)实现细节

    分析 一本书 可以由多个作者编著 一本书只能由一个出版社出版 一个作者可以写多本书 每个作者有自己的简介 对应关系: Author-Book # 多对多 Publish-Book # 一对多 Auth ...

  5. javac 编译java文件提示: 程序包com.mysql.jdbc不存在

    需要将引用的包放到:/usr/java/jdk1.7.0_75/jre/lib/ext 也就是jdk安装目录/jre/lib/ext   目录下面

  6. JAVA图书管理系统汇总共27个

    好多人都在搜索图书管理系统,感觉这个挺受欢迎的,所以整理了一系列的图书管理系统,让大家选择.java图书馆管理系统[优秀毕业设计论文+源码]http://down.51cto.com/data/683 ...

  7. JAVA图书管理系统汇总共27个[转]

    java图书馆管理系统[优秀毕业设计论文+源码]http://down.51cto.com/data/68350java+sql server图书管理系统 http://down.51cto.com/ ...

  8. 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 ...

  9. Mybatis批量更新报错com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException

    批量更新数据,非常简单的一段代码,硬是报错,插入的数据也能显示出来 List<User> userlist = new ArrayList<User>(); userlist. ...

随机推荐

  1. MindProject R6025解决

    -- 来之百度贴吧,收藏在此. 不知道吧里有没有人用mindmanager2012,如果用的话会发现保存.mmap文件后,移动到其他地方,再打开,就会出错,软件关闭.网上很多人说是模版里tips的原因 ...

  2. Whats meaning of “EXPORT_SYMBOL” in Linux kernel code?

    EXPORT_SYMBOL的作用是什么? EXPORT_SYMBOL标签内定义的函数或者符号对全部内核代码公开,不用修改内核代码就可以在您的内核模块中直接调用,即使用EXPORT_SYMBOL可以将一 ...

  3. flash cs6导入某些mp3不能的解决办法

    安装最新的quicktime 另外还有一个很恶心的办法,可以不用装quicktime. 1.用adobe audio打开一个没问题的mp3, 2.再打开有问题的MP3,全选,复制: 3.切换到没问题的 ...

  4. [solr] - spell check

    solr提供了一个spell check,又叫suggestions,可以用于查询输入的自动完成功能auto-complete. 参考文献: https://cwiki.apache.org/conf ...

  5. java语言实现堆排序

    package secondChapter; import java.util.Random; public class HeapSort { private static int AHeapSize ...

  6. linux查看磁盘io的几种方法

    怎样才能快速的定位到并发高是由于磁盘io开销大呢?可以通过三种方式: 第一种:用 top 命令 中的cpu 信息观察 Top可以看到的cpu信息有: Tasks: 29 total, 1 runnin ...

  7. str转unsigned int

    用法 1 参数:参数类型为char, 十六进制字符串形式:0X××××××[NUT],十进制字符串形式:×××××××[NUT],字符串的最大长度为16,字符串结尾符必须为ascii码值0(NUT). ...

  8. sql 简单事务例子

    BEGIN TRY BEGIN TRAN ) BEGIN UPDATE table SET ... END ELSE BEGIN UPDATE table SET ... UPDATE table S ...

  9. AngularJs 简单实现全选,多选操作

    很多时候我们在处理CURD(增删改查)的时候需要实现批量操作数据,这时候就必须使用多选操作. Angular 中实现如下(当然还有很多种比笔者写的更好的方法,这里只是简单的实现.) demo 演示地址 ...

  10. DEDE后台添加新变量出现:Request var not allow!的解决办法 相关案例演

    论坛上很多人都反馈说在后台添加新变量的时候会出现 "Request var not allow!" 的BUG错误,本文主要就是介绍如何去解决这个问题!下面看具体操纵:在DEDE根目 ...