日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

图书借阅管理用java实现_用java实现图书管理系统。 - 惊觉...

發(fā)布時(shí)間:2023/12/8 windows 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 图书借阅管理用java实现_用java实现图书管理系统。 - 惊觉... 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在學(xué)完java基礎(chǔ)篇的時(shí)候,安排做了一個(gè)綜合版的java基礎(chǔ)項(xiàng)目,可以把之前學(xué)到的知識(shí)綜合運(yùn)用。

一.項(xiàng)目設(shè)計(jì)到的知識(shí)

1.MVC設(shè)計(jì)模式思想(分包)

>項(xiàng)目分包

運(yùn)用這種設(shè)計(jì)模式的優(yōu)點(diǎn):

MVC 是一種程序開(kāi)發(fā)設(shè)計(jì)模式,它實(shí)現(xiàn)了顯示模塊與功能模塊的分離。提高了程序的可維護(hù)性、可移植性、可擴(kuò)展性與可重用性,降低了程序的開(kāi)發(fā)難度。它主要分模型、視圖、控制器三層。

>MVC簡(jiǎn)單介紹

M model業(yè)務(wù)模型(pojo/domain/bean)與現(xiàn)實(shí)中實(shí)體類(lèi)聯(lián)系

V views視圖層(views)

圖形化界面(gui)

C controller

用戶(hù)與軟件交互,處理信息

dao層(數(shù)據(jù)持久化)

提供數(shù)據(jù)

service層(處理邏輯)

處理數(shù)據(jù)

controller(javaweb里邊的內(nèi)容,servlet)

較詳細(xì)的圖示:

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 list = new ArrayList();

public static List list1 = new ArrayList();

public static List list2 = new ArrayList();

public static List list3 = new ArrayList();

public static List list4 = new ArrayList();

public static List list5 = new ArrayList();

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 stub

setLayout(null);

background();

setTitle("圖書(shū)借閱系統(tǒng)登錄界面");

Font font = new Font("圓體", Font.BOLD, 50);

label = new JLabel("圖書(shū)借閱系統(tǒng)");

label.setFont(font);

label.setBounds(40, 20, 400, 50);

add(label);

name = new JLabel("用戶(hù)名:");

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("注冊(cè)");

//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() {

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

login.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, "登錄成功", "標(biāo)題", 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, "登錄失敗,該用戶(hù)不存在", "標(biāo)題", JOptionPane.WARNING_MESSAGE);

}

}

});

reset.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

BookLogin.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數(shù)據(jù)庫(kù)

用了c3p0對(duì)原生JDBC的封裝思想,大大提高了開(kāi)發(fā)者的效率。

c3p0xml配置文件

jdbc:mysql://localhost:3306/mybook?characterEncoding=UTF8

com.mysql.jdbc.Driver

root

password

6

10

10000

大多數(shù)情況下只用改,數(shù)據(jù)庫(kù)名,賬號(hào),密碼,別的默認(rèn)值就行。

4.I/O流

I/O流是開(kāi)發(fā)過(guò)程中,最耗費(fèi),最占用資源的一門(mén)技術(shù),在開(kāi)發(fā)中盡量減少對(duì)I/O的使用。

5.面向?qū)ο笏枷?/p>

面向?qū)ο蟮乃枷胧窃谡麄€(gè)學(xué)java期間,都不斷去學(xué)習(xí),這種思想是潛移默化的,短時(shí)間內(nèi),往往難以清楚地理解。

項(xiàng)目運(yùn)行效果

登錄界面

主界面

…紳士們,請(qǐng)收回你們的目光。

讀者信息管理

讀者信息添加

讀者信息查詢(xún)和修改

讀者信息查詢(xún)

查詢(xún)成功!

讀者信息修改

修改成功!

圖書(shū)信息管理

圖書(shū)信息添加

由于東西較多,后面的我就不一一演示了,大家有興趣的可以自己做一個(gè)更好的。

圖書(shū)信息查詢(xún)

圖書(shū)信息修改

圖書(shū)借閱管理

圖書(shū)借閱

圖書(shū)歸還

基礎(chǔ)信息維護(hù)

圖書(shū)類(lèi)別設(shè)置

讀者類(lèi)別設(shè)置

罰金設(shè)置

用戶(hù)管理

修改密碼

用戶(hù)添加

用戶(hù)刪除

詳細(xì)的可以了解,資源里邊的項(xiàng)目。

聯(lián)系方式qq:1287440358 微信:Burial_DH。

轉(zhuǎn)載自CSDN-專(zhuān)業(yè)IT技術(shù)社區(qū)

總結(jié)

以上是生活随笔為你收集整理的图书借阅管理用java实现_用java实现图书管理系统。 - 惊觉...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。