java编写图书管理系统(JDBC+GUI)图形化界面,MySQL,c3p0连接池

3 篇文章 0 订阅
2 篇文章 0 订阅

图书管理系统,图书借阅系统


在写项目之前一般都要先需求分析,数据库分析。

以图书管理系统为例

  1. 登录和注册功能
  2. 查看所有图书(遍历)
  3. 修改图书信息
  4. 这是大致功能需要,还有一些小的功能需要,比如修改密码、读者信息添加和查询及修改、图书信息添加和查询及修改、图书借阅和归还、基本信息维护、添加删除用户等等。

1.逻辑分析,写前准备

写项目之前最好是先分包,程序员MVC

在这里插入图片描述
bean包:里是一些实体类,如user用户、student学生、fruit水果这些都会放这里面,由属性,构造器,get方法,set方法,tostring方法组成。

dao包:是最底层用来处理数据的地方,大部分代码如何操作的都会写在这里面,注意:daoImpl里面是写代码的地方,dao里面是接口

service包:是传输数据的地方,意思是从view层传来了数据,我该把它们送到何处,送给哪一个方法。这样分包的好处是数据传输比较清晰,如果写的项目比较大,处理的数据比较多,那么这个分包的方法的优势就会体现出来。

utils包:这里面放一些工具类,如JDBC,自定义的工具类可以放里面。

view包:是显示给用户的界面,是程序与用户直接接触的类。

在此之前我们还要创建好数据库的表格,还要分析需要用到什么表格,怎么存放数据,如这个系统就需要

  1. 用户表
  2. 图书表
  3. 读者表
  4. 图书借阅记录表
  5. 等等一些小的功能可能也会需要表来存放数据。

接下来一步走直接创建包,创建实体类book类

package org.vector.bean;

public class Book {
	private String bookISBN;
	private String booktype;
	private String bookname;
	private String bookauthor;
	private String bookpress;
	private String bookdate;
	private String bookprintnumber;
	private String bookprice;
	public Book() {}
	public Book(String bookISBN, String booktype, String bookname, String bookauthor, String bookpress, String bookdate,
			String bookprintnumber, String bookprice) {
		this.bookISBN = bookISBN;
		this.booktype = booktype;
		this.bookname = bookname;
		this.bookauthor = bookauthor;
		this.bookpress = bookpress;
		this.bookdate = bookdate;
		this.bookprintnumber = bookprintnumber;
		this.bookprice = bookprice;
	}
	public String getBookISBN() {
		return bookISBN;
	}
	public void setBookISBN(String bookISBN) {
		this.bookISBN = bookISBN;
	}
	public String getBooktype() {
		return booktype;
	}
	public void setBooktype(String booktype) {
		this.booktype = booktype;
	}
	public String getBookname() {
		return bookname;
	}
	public void setBookname(String bookname) {
		this.bookname = bookname;
	}
	public String getBookauthor() {
		return bookauthor;
	}
	public void setBookauthor(String bookauthor) {
		this.bookauthor = bookauthor;
	}
	public String getBookpress() {
		return bookpress;
	}
	public void setBookpress(String bookpress) {
		this.bookpress = bookpress;
	}
	public String getBookdate() {
		return bookdate;
	}
	public void setBookdate(String bookdate) {
		this.bookdate = bookdate;
	}
	public String getBookprintnumber() {
		return bookprintnumber;
	}
	public void setBookprintnumber(String bookprintnumber) {
		this.bookprintnumber = bookprintnumber;
	}
	public String getBookprice() {
		return bookprice;
	}
	public void setBookprice(String bookprice) {
		this.bookprice = bookprice;
	}
	@Override
	public String toString() {
		return "Book [bookISBN=" + bookISBN + ", booktype=" + booktype + ", bookname=" + bookname + ", bookauthor="
				+ bookauthor + ", bookpress=" + bookpress + ", bookdate=" + bookdate + ", bookprintnumber="
				+ bookprintnumber + ", bookprice=" + bookprice + "]";
	}
}

然后下面写在service接口里写需要用到的方法,接着传给dao层的去处理数据,然后返回结果,一层接一层,数据传输图:view–>service–>dao–>service–>view 就这样传输。
在这里插入图片描述

2.GUI设计

处理数据的代码有1000行,但是这个GUI竟然写了4000行,我有点哭笑不得,GUI的代码部件有限,然而你需要调试,布局设计。

GUI是在view层的代码,比较通俗易懂

3.最后

该项目也是我刚刚熟悉MVC的时候写的,关于MVC的格式有点不标准,不过功能效果还是不错的,对于视图层做的也是一般般,有的一部分功能还没有体现出来,不过一些困难的功能还是体现出来了,下面就是一些功能展示图了。资源已上传,可与该博客配合观看。

登录和注册功能(展示)

在这里插入图片描述

查看遍历所有图书(展示)

在这里插入图片描述

修改图书信息(展示)

在这里插入图片描述

图书借阅

在这里插入图片描述
借书日期为月日和时间,没有年哦

图书类型管理

在这里插入图片描述

读者类型管理

在这里插入图片描述

用户添加

在这里插入图片描述

修改密码

在这里插入图片描述

用户删除

在这里插入图片描述

图书信息添加

在这里插入图片描述

搜索

在这里插入图片描述

罚金设置(小功能)

不过在别的页面会有体现哦
在这里插入图片描述

4.乱码问题

该项目使用的编码格式为UTF-8,所以使用eclipse打开的时候需要更改一下eclipse的编码格式,流程如下:
1.点击顶部Window->Preferences,打开后效果如下:
在这里插入图片描述
2.按照如图所示操作
在这里插入图片描述
3.操作完成后,若仍是乱码,则删除项目,重新导入一下。

5.安装教程:

【工房Java系统演示运行视频】 https://www.bilibili.com/video/BV1Jk4y1K7iR/?share_source=copy_web&vd_source=d7eec02037ab315471fbef37f53f997c

下载链接:https://download.csdn.net/download/daitu_/13453364

  • 7
    点赞
  • 120
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酷奥空间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值