用java实现图书管理系统。
在学完java基础篇的时候,安排做了一个综合版的java基础项目,可以把之前学到的知识综合运用。
图书管理系统。
- 一.项目设计到的知识
- 1.MVC设计模式思想(分包)
- >项目分包
- >MVC简单介绍
- 2.GUI(图形化界面)
- 3.JDBC连接MySql数据库
- 4.I/O流
- 5.面向对象思想
- 项目运行效果
- 登录界面
- 主界面
- 读者信息管理
- 读者信息添加
- 读者信息查询和修改
- 读者信息查询
- 读者信息修改
- 图书信息管理
- 图书信息添加
- 图书信息查询
- 图书信息修改
- 图书借阅管理
- 图书借阅
- 图书归还
- 基础信息维护
- 图书类别设置
- 读者类别设置
- 罚金设置
- 用户管理
- 修改密码
- 用户添加
- 用户删除
一.项目设计到的知识
1.MVC设计模式思想(分包)
>项目分包
运用这种设计模式的优点:
MVC 是一种程序开发设计模式,它实现了显示模块与功能模块的分离。提高了程序的可维护性、可移植性、可扩展性与可重用性,降低了程序的开发难度。它主要分模型、视图、控制器三层。
>MVC简单介绍
M model业务模型(pojo/domain/bean)与现实中实体类联系
V views视图层(views)
图形化界面(gui)
C controller
用户与软件交互,处理信息
dao层(数据持久化)
提供数据
service层(处理逻辑)
处理数据
controller(javaweb里边的内容,servlet)
较详细的图示:
2.GUI(图形化界面)
其中的GUI代码案例:
package org.vector.view;import java.awt.Cursor;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;import org.vector.bean.Book;
import org.vector.bean.Booktype;
import org.vector.bean.Borrowbook;
import org.vector.bean.Reader;
import org.vector.bean.Readertype;
import org.vector.bean.Users;
import org.vector.serviceImpl.UsersServiceImpl;public class BookLogin extends JFrame{public BookLogin() {buliding();addListeners();}public static String name1;public static List<Users> list = new ArrayList<Users>();public static List<Reader> list1 = new ArrayList<Reader>();public static List<Book> list2 = new ArrayList<Book>();public static List<Readertype> list3 = new ArrayList<Readertype>();public static List<Booktype> list4 = new ArrayList<Booktype>();public static List<Borrowbook> list5 = new ArrayList<Borrowbook>();private JButton login,reset,register;private JLabel name,password,label;private JTextField name_Text;private JPasswordField password_Text;private void buliding() {// TODO Auto-generated method stubsetLayout(null);background();setTitle("图书借阅系统登录界面");Font font = new Font("圆体", Font.BOLD, 50);label = new JLabel("图书借阅系统");label.setFont(font);label.setBounds(40, 20, 400, 50);add(label);name = new JLabel("用户名:");name.setBounds(45, 100, 120, 30);add(name);name_Text = new JTextField(20);name_Text.setBounds(100, 100, 200, 30);add(name_Text);password = new JLabel("密 码:");password.setBounds(45, 150, 120, 30);add(password);password_Text = new JPasswordField(20);password_Text.setBounds(100, 150, 200, 30);add(password_Text);login = new JButton("登录");login.setBounds(50, 200, 100, 35);add(login);reset = new JButton("重置");reset.setBounds(150, 200, 100, 35);add(reset);
// register = new JButton("注册");
// register.setBounds(250, 200, 100, 35);
// add(register);setBounds(400,300,400,300);setLocation((2000-getWidth())/2,(1000-getHeight())/2);setResizable(false);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);setVisible(true);}public void background() {setSize(600, 500);setLocation(100, 100);String path = "Login.jpg";ImageIcon background = new ImageIcon(path);JLabel label = new JLabel(background);label.setBounds(0, 0, this.getWidth(), this.getHeight());JPanel imagePanel = (JPanel) this.getContentPane();imagePanel.setOpaque(false);this.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE));setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}private void addListeners() {login.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stublogin.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));int flag = 0;String name = name_Text.getText();String password = password_Text.getText();name1 = name;UsersServiceImpl user = new UsersServiceImpl();BookLogin.list.clear();BookLogin.list.addAll(user.findUsers());for (int i = 0; i < BookLogin.list.size(); i++) {if(name.equals(BookLogin.list.get(i).getName())&&password.equals(BookLogin.list.get(i).getPassword())){JOptionPane.showMessageDialog(null, "登录成功", "标题", JOptionPane.WARNING_MESSAGE);BookLogin.this.dispose();new BorrowbookView().setVisible(true);flag = 1;BookLogin.this.dispose();new BorrowbookView().setVisible(true);break;} }if(flag == 0) {JOptionPane.showMessageDialog(null, "登录失败,该用户不存在", "标题", JOptionPane.WARNING_MESSAGE);}}});reset.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubBookLogin.this.dispose();new BookLogin().setVisible(true);}});
// register.addActionListener(new ActionListener() {//
// @Override
// public void actionPerformed(ActionEvent e) {// // TODO Auto-generated method stub
// BookLogin.this.dispose();
// new UserAdd().setVisible(true);
// }
// });}
}
3.JDBC连接MySql数据库
用了c3p0对原生JDBC的封装思想,大大提高了开发者的效率。
c3p0xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config><!-- c3p0默认配置,下面还可以配置多个数据库 --><default-config><property name="jdbcUrl">jdbc:mysql://localhost:3306/mybook?characterEncoding=UTF8</property><property name="driverClass">com.mysql.jdbc.Driver</property><property name="user">root</property><property name="password">password</property><property name="initialPoolSize">6</property><property name="maxPoolSize">10</property><property name="maxIdleTime">10000</property></default-config>
</c3p0-config>
大多数情况下只用改,数据库名,账号,密码,别的默认值就行。
4.I/O流
I/O流是开发过程中,最耗费,最占用资源的一门技术,在开发中尽量减少对I/O的使用。
5.面向对象思想
面向对象的思想是在整个学java期间,都不断去学习,这种思想是潜移默化的,短时间内,往往难以清楚地理解。
项目运行效果
登录界面
主界面
…绅士们,请收回你们的目光。
读者信息管理
读者信息添加
读者信息查询和修改
读者信息查询
查询成功!
读者信息修改
修改成功!
图书信息管理
图书信息添加
由于东西较多,后面的我就不一一演示了,大家有兴趣的可以自己做一个更好的。
图书信息查询
图书信息修改
图书借阅管理
图书借阅
图书归还
基础信息维护
图书类别设置
读者类别设置
罚金设置
用户管理
修改密码
用户添加
用户删除
详细的可以了解,资源里边的项目。
联系方式qq:1287440358 微信:Burial_DH。
用java实现图书管理系统。相关推荐
- Java Web图书管理系统(MVC框架)-包含源码
Java Web图书管理系统 一.前言 这是大二写的系统,因此这个系统并没有用到很多框架,只是使用了MVC框架,前端使用的是Layui框架.bootstrap框架.JSP技术.JSTL表达式和EL表达 ...
- Java Swing图书管理系统桌面软件附源码
Java Swing图书管理系统桌面软件附源码,亲测可运行. 功能界面如下: 登录界面,默认账号admin密码admin 主功能界面: 添加图书功能界面: 部分源码: 完整源码下载地址: JavaSw ...
- Java web 图书管理系统
本系统由java+sevlet+mysql+eclipse实现的Java web图书管理系统,具有增删改查以及导出Excel表格的功能,需要源码或者需要定制类似的Java /Java web/ ssm ...
- Java窗体图书管理系统Java图书借阅管理系统(图书借阅系统)
Java窗体图书管理系统Java图书借阅管理系统(图书借阅系统)
- 大二小学期java:图书管理系统
大二小学期java:图书管理系统 import java.util.*;import java.text.*;public class library {public static long char ...
- 计算机毕设(附源码)JAVA-SSM基于java的图书管理系统
项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...
- java毕业设计图书管理系统源码+lw文档+mybatis+系统+mysql数据库+调试
java毕业设计图书管理系统源码+lw文档+mybatis+系统+mysql数据库+调试 java毕业设计图书管理系统源码+lw文档+mybatis+系统+mysql数据库+调试 本源码技术栈: 项目 ...
- java毕业设计图书管理系统演示录像源码+lw文档+mybatis+系统+mysql数据库+调试
java毕业设计图书管理系统演示录像源码+lw文档+mybatis+系统+mysql数据库+调试 java毕业设计图书管理系统演示录像源码+lw文档+mybatis+系统+mysql数据库+调试 本源 ...
- java+Mysql 图书管理系统(idea)
目录 前言 部分界面截图 登录界面 注册界面 图书管理界面 关于我们界面 部分代码 登录界面 数据库工具类 前言 jdk 版本:openjdk version "11.0.12" ...
- java web 图书管理系统_图书管理系统,源代码 Java初级小项目
今天再给大家分享一个小项目:MiNi图书管理系统.用的是Java语言开发的,代码不多,大概260行左右吧,系统是实现图书的新增图书.删除图书.借阅图书.归还图书.查看图书等简单的功能(后附源代码)! ...
最新文章
- 在CentOS 6.9 x86_64上搭建全功能的OpenResty 1.13.6.1笔记
- 静态移值编译的关键环境变量
- Configuring the VNC server/viewer in Linux.
- 在Spring中使用Asciidoctor:使用Spring MVC渲染Asciidoc文档
- 【渝粤教育】21秋期末考试工程项目管理10324k2
- FireBug 调试JS入门 —如何调试JS
- 几种字符串到byte[] 数组转化为String 的方法
- myEclipse 界面窗口打不开问题
- ui kit模板,让新手设计师临摹提高!
- python程序设计试题库_最新《Python程序设计》试题库资料
- “云”话数字经济:2020 腾讯全球数字生态大会定档 9 月!​
- 图像处理之全景拼接---基于sift的全景图像拼接
- C0型单元刚度矩阵的性质
- Windows10系统迁移-同一PC硬盘之间
- swift unowned和weak的使用
- zkServer.cmd报错invalid config exiting abnormally解决
- 关于高压线路如何防山火
- postgresql获取基于当前时间计算的当月第一天,最后一天,下个月的第n天等功能
- VScode+keil插件-取代keil开发不要太爽了
- failure: repodata/repomd.xml from docker-main-repo: [Errno 256] No more mirrors to try.
热门文章
- android gridlayout点击事件,Android GridLayout
- oracle dba segments,oracle resize报错,dba_segments与dba_data_files中相差很大
- 绘制一个 Activiti BPMN 流程图
- 2020大学计算机学科评估,2020年第五次学科评估大预测:华科将会交出一份怎样的答卷...
- 安全观之我见(二):无事不与安全同
- STM32串口溢出错误Overrun使用不当导致的串口死机
- 【调剂】桂林电子科技大学计算机与信息安全学院2023年硕士研究生招生复试录取办法...
- 服务器的文件怎么共享软件,服务器文件共享软件
- python之路——初识面向对象
- libpcap解析pcapng文件