java图书管理系统代码版
java项目开发实例图书信息管理系统开发文档及源码
java项目开发实例图书信息管理系统开发文档及源码图书信息管理系统一、系统功能概述:根据图书信息管理系统的特点, 能够将本系统分为2大功能模块, 分别为: 基础数据维护、系统数据维护。
本系统各个部分及其包括的具体功能模块如下图所示:二、数据库设计:图书信息表:字段名说明类型长度及备注ISBN 国际标准书号Varchar(13) 主键typeId 图书类型id IntBookname 书名Varchar(40)Writer 作者Varchar(21)Translater 译者Varchar(30) 能够为空Publisher 出版社Varchar(50)Date 出版日期SmalldatetimePrice 价格money图书类别表:用户信息表:读者信息表:三、系统源代码:Com.zhang.dao:Dao.java //数据库的连接与操作类package com.zhang.dao;import java.sql.Connection;import java.sql.Date;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import com.zhang.model.BookInfo;import com.zhang.model.BookType;import com.zhang.model.Operator;import com.zhang.model.Reader;import er;public class Dao {protected static String dbClassName ="com.microsoft.sqlserver.jdbc.SQLServerDriver";protected static String dbUrl ="jdbc:sqlserver://localhost:1433;"+ "DatabaseName=db_lib;SelectMethod=Cursor";protected static String dbUser = "sa";protected static String dbPwd = "zhangyong";protected static String second = null;private static Connection conn = null;//创立数据库连接private Dao() {try {if (conn == null) {Class.forName(dbClassName).newInstance();conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd);System.out.println("数据库连接成功! ");}elsereturn;} catch (Exception ee) {ee.printStackTrace();}}//执行查询private static ResultSet executeQuery(String sql) {try {if(conn==null)new Dao();returnconn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSe t.CONCUR_UPDATABLE).executeQuery(sql);} catch (SQLException e) {e.printStackTrace();return null;} finally {}}//执行更新private static int executeUpdate(String sql) {try {if(conn==null)new Dao();return conn.createStatement().executeUpdate(sql);} catch (SQLException e) {System.out.println(e.getMessage());//if(e.getMessage().equals("[Microsoft][SQLServer Driver for JDBC][SQLServer]DELETE 语句与 COLUMN REFERENCE 约束 'FK_TB_BORRO_REFERENCE_TB_BOOKI' 冲突。
(完整word版)图书管理系统源代码
图书管理系统源代码(一)程序代码1。
主窗口界面import java.awt。
*;import java.awt。
event.*;import javax。
swing.*;import javax.swing.border.TitledBorder;import java.awt。
Font;import javax.swing。
JMenu;public class MainWindow extends JFrame implements ActionListener { private static final long serialVersionUID = 1L;static String loginName;static String loginNo;JLabel mlabel;JPanel jp=new JPanel();//建立菜单栏JMenu a=new JMenu();JMenu b=new JMenu();JMenu c=new JMenu();//建立系统管理菜单组JMenuItem aa=new JMenuItem();JMenuItem ab=new JMenuItem();JMenuItem ac=new JMenuItem();//建立读者管理菜单组JMenuItem bb=new JMenuItem();//建立书籍管理菜单组JMenuItem ca=new JMenuItem();JMenuItem cb=new JMenuItem();JMenuItem cc=new JMenuItem();JMenuItem cd=new JMenuItem();public MainWindow(){super(”图书管理系统");addWindowListener(new WindowAdapter(){System.exit(0);}});Container d=getContentPane();this。
java实现简单的图书管理系统
java实现简单的图书管理系统本⽂实例为⼤家分享了java实现简单的图书管理系统的具体代码,供⼤家参考,具体内容如下⼀、项⽬分布Book类: 定义了书的⼀些属性(书名,作者,价格,分类,状态)并且写了属性的get、set⽅法Library类: 写了登录函数(1、普通⽤户,2、管理员,3、退出系统),Person类:定义的⼈的属性(姓名,性别,年龄)并且写了属性的get、set⽅法,定义了⼀些书。
operate接⼝:操作的接⼝,操作⽅法:查询/查阅,删除/借阅,增加/还书,显⽰书籍列表Root类:继承了Person类,实现operate(查阅,删除,增加,显⽰书籍列表)接⼝User类:继承了Person类,实现operate(查询,借阅,还书,显⽰书籍列表)接⼝Main类:Main中的主函数开启整个项⽬。
模型图:声明:本项⽬只是⼀个简单的⾯向对象⼊门⼩项⽬,有⼀些基础理论需要掌握,⽐如对象,类,抽象类,接⼝,继承,实现,数组及数组的操作,for循环,while循环,switch语句,if语句。
⼆、代码展⽰1.Book类public class Book {private String name; //书名private String author; //作者public double price; //价格private String category; //分类private boolean state; //状态 true-未借出 false-已借出//通过构造函数给定书的属性public Book(String name,String author,double price,String category,boolean state){this.author = author; = name;this.price = price;this.category = category;this.state = state;}public Book() { //默认10本书this(10);}public Book(int i) {Person.books = new Book[i];}//属性的获取和设置public String getName() {return name;}public void setName(String name) { = name;}public String getAuthor() {return author;}public void setAuthor(String author) {this.author = author;}public double getPrice() {return price;}public void setPrice(double price) {this.price = price;}public String getCategory() {return category;}public void setCategory(String category) {this.category = category;}public boolean getState() {return state;}public void setState(boolean state) {this.state = state;}}2.Library类import java.util.Scanner;public class Library {Scanner sc = new Scanner(System.in);//登录函数:显⽰登录界⾯进⾏选择登录public void login() {int count = 0;Person p = null;while (count < 2) {System.out.println("===============jewel图书管理系统===============");System.out.println("欢迎讨论指正! qq505791225"+"\n");System.out.println("请登录:1.普通⽤户 2.管理员登录 3.退出系统");int n = sc.nextInt();//通过输⼊的值进⾏登录判断if (n == 3) {return;}switch (n) {case 1:System.out.println("请输⼊姓名:");String Uname = sc.next();System.out.println("请输⼊性别:");String Usex = sc.next();System.out.println("请输⼊年龄:");int Uage = sc.nextInt();p = new User(Uname,Usex,Uage); //构造普通⽤户对象System.out.println("登录成功!");System.out.println("当前普通⽤户:"+"姓名:" + p.getName() + " "+"性别:" + p.getSex() + " "+"年龄"+ p.getAge()); //普通⽤户循环操作while (true) {System.out.println("请输⼊你的操作: 1.查询书籍 2.借阅书籍 3.归还书籍 4.显⽰书籍列表 5.退出");int i = sc.nextInt();if (i == 5) {System.out.println("您已成功退出!");break;}else {p.operate(); //调⽤普通⽤户的操作⽅法}}break;case 2:System.out.println("请输⼊管理员姓名:");String Rname = sc.next();System.out.println("请输⼊性别:");String Rsex = sc.next();System.out.println("请输⼊年龄:");int Rage = sc.nextInt();p = new Root(Rname,Rsex,Rage);//构造管理员对象System.out.println("登录成功!");System.out.println("当前管理员:"+"姓名:" + p.getName() + " "+"性别:" + p.getSex() + " "+"年龄" + p.getAge()); while (true) {System.out.println("请输⼊你的操作: 1.整理书籍 2.查阅书籍 3.增加书籍 4.删除书籍 5.显⽰书籍列表 6.退出");int j = sc.nextInt();if (j == 6) {System.out.println("您已成功退出!");break;}else{p.operate();//调⽤管理员的操作⽅法}} break;}}}}3.Person类(抽象类)abstract class Person {public String name;public String sex;public int age;/*** 默认定义10本书籍。
原创java图书借阅管理系统全部源代码
原创Java图书借阅管理系统全部源代码1. 介绍本文档提供了一个原创的Java图书借阅管理系统的全部源代码。
该系统可以帮助图书馆或其他类似机构管理他们的图书借阅流程。
系统包括了一系列功能,包括添加图书、借阅图书、归还图书、查询图书等。
2. 功能概述•添加图书:管理员可以通过系统添加新的图书信息,包括书名、作者、出版社等。
•借阅图书:读者可以通过系统进行图书借阅。
系统会检查图书是否可用,并更新图书的状态和借阅记录。
•归还图书:读者可以通过系统归还已借阅的图书。
系统会更新图书的状态和借阅记录。
•查询图书:管理员和读者可以通过系统查询图书的信息,包括图书的借阅情况和在馆数量等。
3. 系统架构该系统采用Java语言开发,使用MVC(Model-View-Controller)架构模式。
MVC模式将应用程序分为三个核心组件:•模型(Model):负责处理数据相关的操作,如数据库的读写、数据的验证和处理等。
•视图(View):负责展示用户界面,根据模型的数据渲染出相应的界面。
•控制器(Controller):负责接收用户的输入,调用相应的模型和视图,处理用户请求并返回相应的结果。
4. 源代码结构本系统的源代码包含以下几个主要的文件和文件夹:•Book.java:定义图书类,包含图书的属性和方法。
•User.java:定义用户类,包含用户的属性和方法。
•Database.java:封装数据库的操作,包括连接数据库、读取数据和写入数据等。
•BookController.java:图书控制器,负责处理图书相关的逻辑。
•UserController.java:用户控制器,负责处理用户相关的逻辑。
•View.java:视图类,负责展示用户界面和接收用户输入。
•Main.java:程序入口,初始化系统并启动。
5. 使用方法1.下载源代码并解压缩到本地计算机。
2.使用Java开发工具打开项目。
3.编译并运行Main.java文件。
java图书管理系统代码版
目录第1章本设计所要达到的目的和要求1.1 设计目的1.2 设计要求第2章设计内容第3 章开发和运行环境介绍第4章需求分析1、本设计所要达到的目的和要求1.1 设计目的管理信息系统(MIS)的应用已深入到社会的各行各业,它是信息、软件与科学管理相结合的产物。
MIS的开发过程不仅是一个编写应用程序的过程,而且是一个以软件工程的思想为指导,从可行性研究开始,经过系统分析、系统设计、系统实施到等主要阶段的规范开发过程。
本题目实现的是JAVA系统,我们选择的是图书馆管理系统,不同角色的用户登录,用户信息的管理包括密码管理,及用户借还书,用户对图书信息及本人借还情况的查询,超级管理员对图书信息的增删查改,用户信息的增删查改及借还情况总的查询。
1.2 设计要求1、主题明确,软体开发要有创新性,能体现SQL的存储过程、触发器、游标技术等;2、用高级语言结合SQL Server数据库进行开发;3、写出数据库关系模式及相应的数据库表关系图;4、绘制成绩MIS相应的系统流程图、E-R图等;5、完成成绩MIS登陆界面、主界面、图书信息录入、图书信息查询和其各项设计与操作。
2、设计内容我们设计的图书馆管理系统主要用于对图书馆日常工作的管理,主要任务是用计算机对读者、图书等各种信息进行日常管理,如查询、修改、增加、删除、图书借阅和归还的管理等。
本系统实现了图书馆的信息化管理,完成了图书馆管理系统的基本功能。
该系统主要包括读者用户登录系统、管理员用户登入系统、图书管理系统、图书借阅、图书和用户信息查询子系统四个部分,各部分主要功能如下:读者用户登录子系统:用于数据库的连接,主界面的设计和读者身份用户的登录管理。
管理员用户登入系统:用于管理员用户的管理,如图书添加、图书信息修改。
图书管理系统:用于图书信息的管理,如新书入库、图书信息修改、图书信息删除。
图书借阅系统:用于用户借阅和归还图书。
图书和用户信息查询:图书和用户信息的查询。
用Java写一个图书管理系统的代码
用Java写一个图书管理系统的代码```import java.util.*;public class BookManager {// Create a list for book storageprivate List<Book> books;public BookManager() {books = new ArrayList<Book>();}// Add a book to the listpublic void addBook(Book book) {books.add(book);}// Remove a book from the listpublic void removeBook(Book book) {books.remove(book);}// Get all books in the listpublic List<Book> getAllBooks() {return books;}// Search a book by book namepublic List<Book> searchByName(String name) {List<Book> resultBooks = new ArrayList<Book>();for (Book book : books) {if (book.getName().equals(name)) {resultBooks.add(book);}}return resultBooks;}// Search a book by author namepublic List<Book> searchByAuthor(String author) { List<Book> resultBooks = new ArrayList<Book>(); for (Book book : books) {if (book.getAuthor().equals(author)) {resultBooks.add(book);}}return resultBooks;}}class Book {private String name;private String author;public Book(String name, String author) { = name;this.author = author;}public String getName() {return name;}public void setName(String name) { = name;}public String getAuthor() {return author;}public void setAuthor(String author) { this.author = author;}}```。
Java图书管理系统-附源码
图书信息删除:
图书信息显示:
图书借阅:
图书归还:
分析总结:
本程序在数据库设计方面可以改为多张表存储的方式,用三张表来记录图书信息,借阅关系和学生信息,这样可以减少数据冗余,还可以增加一些其他功能,比如图书挂失等功能。由于刚刚接触到Java界面设计,所以本程序在界面设计方面还有有待改进的地方。
JMenuItem itemDelete = new JMenuItem();
JMenuItem itemSelect = new JMenuItem();
JMenuItem itБайду номын сангаасmBook = new JMenuItem();
JMenuItem itemReturn = new JMenuItem();
图书ID,图书名称,图书所有者,图书的状态,图书使用者(允许为空)均为varchar(50)类型,在Java中可以方便的查询。图书存储信息的具体内容如下图所示:
功能模块:
程序设计:
主框架设计:
主框架上方包含三个按钮,分别是“系统管理”、“图书信息管理”和“图书流通管理”,定义JMenuBar类的对象、JMenu类的对象和JMenuItem类的对象,分别表示菜单栏、菜单组和菜单选项,然后调用初始化函数,将不同类的对象通过setText()函数设定不同的文本,然后将其添加到窗口容器中。对每个按钮分别添加不同的消息监听,响应相应的消息,调用不同的类完成不同的功能。消息监听功能详见源代码bookMain类。
删除图书信息模块:
调用bookDel类的构造函数产生一个该类的对象,在初始化函数中显示信息输入对话框,提示用户输入要删除图书的ID。完成输入后,点击确定按钮,消息监听模块将调用bookBean的构造函数产生一个该类的对象,通过该对象调用bookBean的bookDel函数,执行删除的SQL语句,通过delete语句完成图书信息的删除功能。
基于java的图书管理系统源代码【范本模板】
声明:本系统是基于C/S的图书管理系统,主要使用的是Oracle数据库,下面附所有实现代码package library;import java.awt。
BorderLayout;import java.awt。
Container;import java。
awt。
GridLayout;import java。
awt.event.ActionEvent;import java。
awt。
event。
ActionListener;import java。
sql.ResultSet;import javax。
swing.JButton;import javax.swing。
JComboBox;import javax.swing.JFrame;import javax.swing。
JLabel;import javax。
swing。
JOptionPane;import javax。
swing。
JPanel;import javax.swing.JTextField;public class book_add extends JFrame implements ActionListener{DataBaseManager db=new DataBaseManager();ResultSet rs;JPanel panel1,panel2;JLabel book_id_label,book_name_label,author_label,press_label,press_date_label,price_label,book_num_label,borrowed_num_label,address;JTextField book_id_TextField,book_name_TextField,author_TextField,press_TextField,press_date_TextField,price_TextField,book_num_TextField, borrowed_count;JComboBox addresst;Container c;JButton clear,add,exit;public book_add(){super(”添加图书信息");c=getContentPane();c。
图书管理系统源码(java实现)
【图书管理系统】【MainPro包】1.系统登录页面public class Login extends Frame {private static final long serialVersionUID = -1758475247807861408L;TextField text_user;TextField text_pass;public Login() {1 this.setTitle("登录");this.setLayout(null);//默认流式布局this.setSize(260, 170);/* 定义标签与文本框*/Label lbUser = new Label("用户名:");text_user = new TextField();Label lbPass = new Label("密码:");text_pass = new TextField();Button btn_ok = new Button("确定");Button btn_cancel = new Button("取消");lbUser.setBounds(40, 53, 60, 20);//x,y,width,heightlbPass.setBounds(40, 83, 60, 20);text_user.setBounds(100, 50, 120, 20);text_pass.setBounds(100, 80, 120, 20);btn_ok.setBounds(45, 120, 80, 25); // 确定按钮btn_cancel.setBounds(135, 120, 80, 25); // 取消按钮/* 添加标签与文本框*/add(lbUser);add(lbPass);add(text_user);add(text_pass);add(btn_ok);add(btn_cancel);setLocationRelativeTo(null); // 使窗体在屏幕上居中放置this.setVisible(true); // 使窗体可见btn_ok.addActionListener((new ActionListener() {public void actionPerformed(ActionEvent e) {btn_okActionPerformed(e);//自定义确定按钮触发的实施过程}}));btn_cancel.addActionListener((new ActionListener() {public void actionPerformed(ActionEvent e) {DbOp.Close(); // 关闭数据库System.exit(0);}}));this.addWindowListener(new WindowAdapter() {/* 关闭窗口*/// 重写windowClosing()方法public void windowClosing(WindowEvent e) {DbOp.Close(); // 关闭数据库System.exit(0);} }); }public void btn_okActionPerformed(ActionEvent e) {String user = text_user.getText();String pass = text_pass.getText();String is_admin;// 如果用户名或密码任一为空,则终止后续操作if (user.equals("")||pass.equals("")) {JOptionPane.showMessageDialog(null, "用户名或密码不能为空!");return;}try {// 核对用户名和密码String sql = "select * from user where username=" + "'" + user + "' and password=" + "'" + pass + "'";ResultSet rs = DbOp.executeQuery(sql);// 如果此用户存在,则记录其状态(否:不是管理员,是:是管理员)if (rs.next()) {is_admin = rs.getString("is_admin");} else {JOptionPane.showMessageDialog(null, "用户名或密码不正确!");return;}GlobalVar.login_user = user; // 记录登录的用户名ShowMain show = new ShowMain(); // 调用主程序// 只有管理员才能使用"基础管理"和"借阅管理"菜单show.setRights(is_admin);// 释放窗体及其全部组件的屏幕资源,即使释放登录窗体dispose(); // 释放当前窗体} catch (SQLException e1) {JOptionPane.showMessageDialog(null, "用户数据库有误!");}}}2.系统首页页面public class ShowMain extends Frame {private static final long serialVersionUID = 5003296786441785470L;MenuBar menuBar;Menu jcwh, jcwh_book, jcwh_reader;//基础维护:图书维护、读者维护Menu jywh, cxgl, xtgl;//借阅维护、查询管理、系统管理MenuItemjcwh_book_add,jcwh_book_update,jcwh_book_delete,jcwh_reader_add,jcwh_reader_update,jcwh_reader_delete;MenuItem jywh_borrow, jywh_back;MenuItem cxgl_book, cxgl_reader;MenuItem xtgl_update_pass, xtgl_exit;public void setRights(String rights) {// 如果不是管理员,则禁止用户维护图书信息和读者信息以及禁止进行借阅管理,即只能查询if (rights.equals("否")) {jywh.setEnabled(false);jcwh.setEnabled(false);}}public ShowMain() {setTitle("图书管理系统");setLayout(new BorderLayout());setSize(640, 480);menuBar = new MenuBar();jcwh = new Menu("基础维护");// 基础维护菜单jcwh_book = new Menu("图书维护");// 图书维护菜单jcwh_book_add = new MenuItem("添加");// 添加图书菜单jcwh_book_update = new MenuItem("修改");// 修改图书菜单jcwh_book_delete = new MenuItem("删除");// 删除图书菜单jcwh_reader = new Menu("读者维护");// 读者维护菜单jcwh_reader_add = new MenuItem("添加读者");// 添加读者菜单jcwh_reader_update = new MenuItem("修改读者");jcwh_reader_delete = new MenuItem("删除读者");jywh = new Menu("借阅管理");jywh_borrow = new MenuItem("借书管理");jywh_back = new MenuItem("还书管理");cxgl = new Menu("查询管理");cxgl_book = new MenuItem("图书查询");cxgl_reader = new MenuItem("读者查询");xtgl = new Menu("系统管理");xtgl_update_pass = new MenuItem("修改密码");xtgl_exit = new MenuItem("退出系统");// 添加图书菜单jcwh_book.add(jcwh_book_add);jcwh_book.add(jcwh_book_update);jcwh_book.add(jcwh_book_delete);jcwh.add(jcwh_book);jcwh_reader.add(jcwh_reader_add);jcwh_reader.add(jcwh_reader_update);jcwh_reader.add(jcwh_reader_delete);jcwh.add(jcwh_reader);jywh.add(jywh_borrow);jywh.add(jywh_back);cxgl.add(cxgl_book);cxgl.add(cxgl_reader);xtgl.add(xtgl_update_pass);xtgl.add(xtgl_exit);menuBar.add(jcwh);menuBar.add(jywh);menuBar.add(cxgl);menuBar.add(xtgl);setMenuBar(menuBar);setLocationRelativeTo(null); // 使窗体在屏幕上居中放置setVisible(true); // 使窗体可见jcwh_book_add.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {new BookManeger("save");} });jcwh_book_update.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {new BookManeger("update");} });jcwh_book_delete.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {new BookManeger("delete");} });jcwh_reader_add.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {new ReaderManeger("save");} });jcwh_reader_update.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {new ReaderManeger("update");} });jcwh_reader_delete.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {new ReaderManeger("delete");} });jywh_borrow.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {new Borrow();} });jywh_back.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {new Back();} });cxgl_book.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {new BookQuery();} });cxgl_reader.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {new ReaderQuery();} });xtgl_update_pass.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {new UpdatePassword();} });xtgl_exit.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {DbOp.Close(); // 关闭数据库System.exit(0);}});this.addWindowListener(new WindowAdapter() {/* 关闭窗口*/// 重写windowClosing()方法public void windowClosing(WindowEvent e) {DbOp.Close(); // 关闭数据库System.exit(0);}});}}3.图书管理public class BookManeger extends JFrame {private static final long serialVersionUID = 377287301994613384L;private Label lbbookid_c = new Label("图书编号");private TextField tf_bookid_c = new TextField();private Label lbbookid = new Label("图书编号");private TextField tf_bookid = new TextField();private Label lbbookname = new Label("图书名称");private TextField tf_bookname = new TextField();private Label lbbooktype = new Label("图书类别");private Choice tf_booktype = new Choice();private Label lbauthor = new Label("作者");private TextField tf_author = new TextField();private Label lbtranslator = new Label("译者");private TextField tf_translator = new TextField();private Label lbpublisher = new Label("出版社");private TextField tf_publisher = new TextField();private Label lbpublish_time = new Label("出版时间");private TextField tf_publish_time = new TextField();private Label lbprice = new Label("定价");private TextField tf_price = new TextField();private Label lbstock = new Label("库存数量");private TextField tf_stock = new TextField();private Button queryBtn = new Button("查询");private Button saveBtn = new Button("保存");private Button closeBtn = new Button("关闭");private String optionStr;BookManeger(String str) {optionStr = str;ggFrame(optionStr);saveBtn.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {HashMap<String, Object> map = new HashMap<String, Object>();map.put("bookid", tf_bookid);map.put("bookname", tf_bookname);map.put("booktype", tf_booktype);map.put("author", tf_author);map.put("translator", tf_translator);map.put("publisher", tf_publisher);map.put("publish_time", tf_publish_time);map.put("price", tf_price);map.put("stock", tf_stock);int i ;if(optionStr.equals("delete")){i = Jcwh.btn_delActionPerformed(e, map);}else{i = Jcwh.btn_saveActionPerformed(e, map,optionStr);}if (i == 1) {String showInfo = "";if(optionStr.equals("save")){showInfo = "图书添加成功!";}else if(optionStr.equals("update")){showInfo = "图书修改成功!";}else if(optionStr.equals("delete")){showInfo = "图书删除成功!";}JOptionPane.showMessageDialog(null, showInfo);// 清空全部文本框clearAllTextfield();}}});closeBtn.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {dispose(); // 释放当前窗体}});/* 关闭窗口*/this.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) { // 关闭当前窗口dispose(); // 释放当前窗体}});}private void ggFrame(String str) {setLayout(null);setSize(500, 320);lbbookid.setBounds(50, 40, 50, 20); // 图书编号tf_bookid.setBounds(110, 40, 100, 20);lbbookname.setBounds(240, 40, 50, 20); // 图书名称tf_bookname.setBounds(300, 40, 100, 20);lbbooktype.setBounds(50, 80, 50, 20); // 图书类别tf_booktype.setBounds(110, 80, 100, 20);tf_booktype.add("科技");tf_booktype.add("文学");tf_booktype.add("社科");tf_booktype.add("其他");lbauthor.setBounds(240, 80, 50, 20); // 作者tf_author.setBounds(300, 80, 100, 20);lbtranslator.setBounds(50, 120, 50, 20); // 设置译者tf_translator.setBounds(110, 120, 100, 20);lbpublisher.setBounds(240, 120, 50, 20); // 出版社tf_publisher.setBounds(300, 120, 100, 20);lbpublish_time.setBounds(50, 160, 50, 20); // 出版时间tf_publish_time.setBounds(110, 160, 100, 20);lbprice.setBounds(240, 160, 50, 20); // 定价tf_price.setBounds(300, 160, 100, 20);lbstock.setBounds(50, 200, 50, 20); // 库存数量tf_stock.setBounds(110, 200, 100, 20);saveBtn.setBounds(150, 240, 80, 25); // 保存按钮closeBtn.setBounds(280, 240, 80, 25);// 关闭按钮if(str.equals("save")){setTitle("添加图书");}else if(str.equals("update")){setTitle("修改图书");lbbookid_c.setBounds(100, 10, 50, 20); // 图书编号tf_bookid_c.setBounds(160, 10, 100, 20);tf_bookid.setEditable(false);//修改的图书信息中id不可以修改queryBtn.setBounds(280, 10, 80, 20); // 查询按钮add(lbbookid_c);add(tf_bookid_c);add(queryBtn);queryBtn.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {HashMap<String, Object> map = new HashMap<String, Object>();map.put("bookid", tf_bookid_c);Book book = (Book)Jcwh.btn_queryActionPerformed(e,map).get("book");if(book!=null){tf_bookid.setText(book.getId());tf_bookname.setText(book.getBookname());// 将Choice的选定项设置为其名称等于指定字符串的项tf_booktype.select(book.getBooktype());tf_author.setText(book.getAuthor());tf_translator.setText(book.getTranslator());tf_publisher.setText(book.getPublisher());tf_publish_time.setText(book.getPublish_time().toString());tf_price.setText(String.valueOf(book.getPrice()));tf_stock.setText(String.valueOf(book.getStock()));}}});saveBtn.setLabel("修改");//将按钮显示文字修改成“修改”}else if(str.equals("delete")){setTitle("删除图书");lbbookid_c.setBounds(100, 10, 50, 20); // 图书编号tf_bookid_c.setBounds(160, 10, 100, 20);tf_bookid.setEditable(false);//修改的图书信息中id不可以修改queryBtn.setBounds(280, 10, 80, 20); // 查询按钮add(lbbookid_c);add(tf_bookid_c);add(queryBtn);queryBtn.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {HashMap<String, Object> map = new HashMap<String, Object>();map.put("bookid", tf_bookid_c);Book book = (Book)Jcwh.btn_queryActionPerformed(e,map).get("book");if(book!=null){tf_bookid.setText(book.getId());tf_bookname.setText(book.getBookname());// 将Choice的选定项设置为其名称等于指定字符串的项tf_booktype.select(book.getBooktype());tf_author.setText(book.getAuthor());tf_translator.setText(book.getTranslator());tf_publisher.setText(book.getPublisher());tf_publish_time.setText(book.getPublish_time().toString());tf_price.setText(String.valueOf(book.getPrice()));tf_stock.setText(String.valueOf(book.getStock()));}}});saveBtn.setLabel("删除");//将按钮显示文字修改成“删除”}add(lbbookid);add(tf_bookid);add(lbbookname);add(tf_bookname);add(lbbooktype);add(tf_booktype);add(lbauthor);add(tf_author);add(lbtranslator);add(tf_translator);add(lbpublisher);add(tf_publisher);add(lbpublish_time);add(tf_publish_time);add(lbprice);add(tf_price);add(lbstock);add(tf_stock);add(saveBtn);add(closeBtn);setLocationRelativeTo(null); // 使窗体在屏幕上居中放置setVisible(true); // 使窗体可见}private void clearAllTextfield() {tf_bookid.setText("");tf_bookname.setText("");tf_author.setText("");tf_translator.setText("");tf_publisher.setText("");tf_publish_time.setText("");tf_price.setText("");tf_stock.setText("");}}4.读者管理public class ReaderManeger extends JFrame {private static final long serialVersionUID = -2399939451497711745L;Label lbreaderid_c = new Label("读者编号");TextField tf_readerid_c = new TextField();Label lbreaderid = new Label("读者编号");TextField tf_readerid = new TextField();Label lbreadername = new Label("读者姓名");TextField tf_readername = new TextField();Label lbreadertype = new Label("读者类别");Choice tf_readertype = new Choice();Label lbsex = new Label("性别");Choice tf_sex = new Choice();Label lbmax_num = new Label("可借数量");TextField tf_max_num = new TextField();Label lbdays_num = new Label("可借天数");TextField tf_days_num = new TextField();Button queryBtn = new Button("查询");Button saveBtn = new Button("保存");Button closeBtn = new Button("关闭");private String optionStr;//保存、修改、删除ReaderManeger(String str){optionStr = str;ggFrame(optionStr);saveBtn.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {HashMap<String, Object> map = new HashMap<String, Object>();map.put("readerid", tf_readerid);map.put("readername", tf_readername);map.put("readertype", tf_readertype);map.put("sex", tf_sex);map.put("days_num", tf_days_num);map.put("max_num", tf_max_num);int i ;if(optionStr.equals("delete")){i = Jcwh.btn_delReaderActionPerformed(e, map);}else{i = Jcwh.btn_saveReaderActionPerformed(e,map,optionStr);}if (i == 1) {String showInfo = "";if(optionStr.equals("save")){showInfo = "读者添加成功!";}else if(optionStr.equals("update")){showInfo = "读者修改成功!";}else if(optionStr.equals("delete")){showInfo = "读者删除成功!";}JOptionPane.showMessageDialog(null, showInfo);// 清空全部文本框clearAllTextfield();}}});closeBtn.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {dispose(); // 释放当前窗体}});this.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) { // 关闭当前窗口dispose(); // 释放当前窗体}});}private void ggFrame(String str) {setLayout(null);setTitle("添加读者信息");setSize(500, 230);lbreaderid.setBounds(50, 50, 50, 20);tf_readerid.setBounds(110, 50, 100, 20);lbreadername.setBounds(240, 50, 50, 20);tf_readername.setBounds(300, 50, 100, 20);lbreadertype.setBounds(50, 80, 50, 20);tf_readertype.setBounds(110, 80, 100, 20);tf_readertype.add("教师");tf_readertype.add("学生");tf_readertype.add("职工");lbsex.setBounds(240, 80, 50, 20);tf_sex.setBounds(300, 80, 100, 20);tf_sex.add("男");tf_sex.add("女");lbmax_num.setBounds(50, 110, 50, 20);tf_max_num.setBounds(110, 110, 100, 20);lbdays_num.setBounds(240, 110, 50, 20);tf_days_num.setBounds(300, 110, 100, 20);saveBtn.setBounds(150, 150, 80, 25);closeBtn.setBounds(280, 150, 80, 25);if(str.equals("save")){setTitle("添加读者");}else if(str.equals("update")){setTitle("修改读者");lbreaderid_c.setBounds(100, 10, 50, 20);tf_readerid_c.setBounds(160, 10, 100, 20);tf_readerid.setEditable(false);queryBtn.setBounds(280, 10, 80, 20);add(lbreaderid_c);add(tf_readerid_c);add(queryBtn);queryBtn.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {HashMap<String, Object> map = new HashMap<String, Object>();map.put("readerid", tf_readerid_c);Reader reader = (Reader)Jcwh.btn_queryReaderActionPerformed(e,map).get("reader");if(reader!=null){tf_readerid.setText(reader.getId());tf_readername.setText(reader.getReadername());tf_readertype.select(reader.getReadertype());tf_sex.select(reader.getSex());tf_days_num.setText(String.valueOf(reader.getDays_num()));tf_max_num.setText(String.valueOf(reader.getMax_num()));}}});saveBtn.setLabel("修改");//将按钮显示文字修改成“修改”}else if(str.equals("delete")){setTitle("删除图书");lbreaderid_c.setBounds(100, 10, 50, 20);tf_readerid_c.setBounds(160, 10, 100, 20);tf_readerid.setEditable(false);queryBtn.setBounds(280, 10, 80, 20);add(lbreaderid_c);add(tf_readerid_c);add(queryBtn);queryBtn.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {HashMap<String, Object> map = new HashMap<String, Object>();map.put("readerid", tf_readerid_c);Reader reader = (Reader)Jcwh.btn_queryReaderActionPerformed(e,map).get("reader");if(reader!=null){tf_readerid.setText(reader.getId());tf_readername.setText(reader.getReadername());tf_readertype.select(reader.getReadertype());tf_sex.select(reader.getSex());tf_days_num.setText(String.valueOf(reader.getDays_num()));tf_max_num.setText(String.valueOf(reader.getMax_num()));}}});saveBtn.setLabel("删除");//将按钮显示文字修改成“删除”}add(lbreaderid);add(lbreadername);add(lbreadertype);add(lbsex);add(lbmax_num);add(lbdays_num);add(tf_readerid);add(tf_readername);add(tf_max_num);add(tf_days_num);add(tf_readertype);add(tf_sex);add(saveBtn);add(closeBtn);setLocationRelativeTo(null);setVisible(true);}private void clearAllTextfield() {tf_readerid.setText("");tf_readername.setText("");tf_max_num.setText("");tf_days_num.setText("");}public static void main(String[] args) {ReaderManeger r = new ReaderManeger("update");}}5.借书public class Borrow extends Frame {private static final long serialVersionUID = -1036076990599464079L;String SepLine = "-------------------------------------------------";Label lbbookid = new Label("图书编号");Label lbreaderid = new Label("读者编号");TextField tf_bookid = new TextField();TextField tf_readerid = new TextField();Button queryBtn = new Button("查询");Label lbbookinfo = new Label(SepLine + "图书信息" + SepLine); Label lbbookname = new Label("图书名称:");Label tf_bookname = new Label("xx");Label lbauthor = new Label("作者:");Label tf_author = new Label("xx");Label lbpublisher = new Label("出版社:");Label tf_publisher = new Label("xx");Label lbpublish_time = new Label("出版时间:");Label tf_publish_time = new Label("xx");Label lbprice = new Label("定价:");Label tf_price = new Label("xx");Label lbstock = new Label("库存数量:");Label tf_stock = new Label("xx");Label lbreaderinfo = new Label(SepLine + "读者信息" + SepLine); Label lbreadername = new Label("读者姓名:");Label tf_readername = new Label("xx");Label lbreadertype = new Label("读者类型:");Label tf_readertype = new Label("xx");Label lbmax_num = new Label("最大可借数:");Label tf_max_num = new Label("xx");Label lbdays_num = new Label("最大可借天数:");Label tf_days_num = new Label("xx");Label lbborrowinfo = new Label(SepLine + "借阅信息" + SepLine); Label lbborrowednum = new Label("该读者已借图书数量:"); Label tf_borrowednum = new Label("xx");Label lbif_borrow = new Label("该读者是否可借所选图书:"); Label tf_if_borrow = new Label("xx");Label lbborrow_date = new Label("借阅日期:");Label tf_borrow_date = new Label("xx");Button borrowBtn = new Button("借出");Button closeBtn = new Button("关闭");public Borrow() {setLayout(null);setTitle("借阅图书");setSize(500, 420);this.setForeground(Color.BLACK); // 设置前景色为黑色lbbookid.setBounds(30, 40, 50, 25); // 图书编号tf_bookid.setBounds(90, 40, 90, 20);lbreaderid.setBounds(200, 40, 50, 25); // 读者编号tf_readerid.setBounds(260, 40, 90, 20);queryBtn.setBounds(370, 40, 80, 25); // 查询按钮lbbookinfo.setBounds(30, 70, 440, 25); // 图书信息提示条lbbookname.setBounds(30, 100, 60, 25); // 图书名称tf_bookname.setBounds(90, 100, 200, 25);lbauthor.setBounds(310, 100, 60, 25); // 作者tf_author.setBounds(370, 100, 90, 25);lbpublisher.setBounds(30, 125, 60, 25); // 出版社tf_publisher.setBounds(90, 125, 200, 25);lbpublish_time.setBounds(310, 125, 60, 25); // 出版时间tf_publish_time.setBounds(370, 125, 90, 25);lbprice.setBounds(30, 150, 60, 25); // 定价tf_price.setBounds(90, 150, 200, 25);lbstock.setBounds(310, 150, 60, 25); // 库存数量tf_stock.setBounds(370, 150, 90, 25);lbreaderinfo.setBounds(30, 180, 440, 25); // 读者信息提示条lbreadername.setBounds(30, 205, 60, 25); // 读者姓名tf_readername.setBounds(90, 205, 90, 25);lbreadertype.setBounds(310, 205, 60, 25); // 读者类型tf_readertype.setBounds(370, 205, 90, 25);lbmax_num.setBounds(30, 230, 75, 25); // 最大可借数tf_max_num.setBounds(105, 230, 90, 25);lbdays_num.setBounds(310, 230, 85, 25); // 最大可借天数tf_days_num.setBounds(395, 230, 70, 25);lbborrowinfo.setBounds(30, 260, 440, 25); // 借阅信息提示条lbborrowednum.setBounds(30, 285, 120, 25);// 已借图书数量tf_borrowednum.setBounds(150, 285, 50, 25);lbif_borrow.setBounds(30, 310, 145, 25); // 是否可借tf_if_borrow.setBounds(175, 310, 50, 25);lbborrow_date.setBounds(30, 335, 60, 25);// 借书日期tf_borrow_date.setBounds(90, 335, 100, 25);borrowBtn.setBounds(160, 365, 80, 25);// 借出按钮borrowBtn.setEnabled(false); // 开始时禁用借出按钮closeBtn.setBounds(260, 365, 80, 25);// 关闭按钮queryBtn.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) { btn_querywActionPerformed(e); } }); borrowBtn.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) { btn_borrowActionPerformed(e); } });closeBtn.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) { setForeground(Color.BLACK); dispose(); } }); this.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {setForeground(Color.BLACK); // 设置前景色为黑色dispose(); // 关闭窗体}});add(lbbookid);add(lbreaderid);add(queryBtn);add(lbbookinfo);add(lbbookname);add(lbauthor);add(lbpublisher);add(lbpublish_time);add(lbprice);add(lbstock);add(lbreaderinfo);add(lbreadername);add(lbreadertype);add(lbmax_num);add(lbdays_num);add(lbborrowinfo);add(lbborrowednum);add(lbif_borrow);add(lbborrow_date);add(borrowBtn);add(closeBtn);setLocationRelativeTo(null); // 使窗体在屏幕上居中放置setVisible(true); // 使窗体可见setForeground(Color.RED); // 设置前景色为红色add(tf_bookid);add(tf_readerid);add(tf_bookname);add(tf_author);add(tf_publisher);add(tf_publish_time);add(tf_price);add(tf_stock);add(tf_readername);add(tf_readertype);add(tf_max_num);add(tf_days_num);add(tf_borrowednum);add(tf_if_borrow);add(tf_borrow_date);}// 图书和读者查询private void btn_querywActionPerformed(ActionEvent e) {String bookid = tf_bookid.getText();String readerid = tf_readerid.getText();// 如果图书编号或读者编号两者均为空,或者有一个为空,则返回if (bookid.equals("") || readerid.equals("")) {JOptionPane.showMessageDialog(null, "图书编号和读者编号均不能为空!");init(); // 重新初始化各参数并禁止借出按钮return;}// 按编号查询图书,结果存入book对象中Book book = BookSelect.SelectBookById(bookid);if (book != null) { // 如果查询到结果,将其显示在各文本框中tf_bookname.setText(book.getBookname());tf_author.setText(book.getAuthor());tf_publisher.setText(book.getPublisher());tf_publish_time.setText(book.getPublish_time().toString());tf_price.setText(String.valueOf((book.getPrice())));tf_stock.setText(String.valueOf(book.getStock()));} else {JOptionPane.showMessageDialog(null, "图书编号有误,查无此书!");init(); // 重新初始化各参数并禁止借出按钮return;}if (book.getStock() == 0) {JOptionPane.showMessageDialog(null, "图书已无库存,无法借阅!");init(); // 重新初始化各参数并禁止借出按钮return;}// 按编号查询读者,结果存入reader对象中Reader reader = ReaderSelect.selectReaderById(readerid);// 如果查询到结果,将其显示在各文本框中if (reader != null) {tf_readername.setText(reader.getReadername());tf_readertype.setText(reader.getReadertype());tf_max_num.setText(String.valueOf(reader.getMax_num()));tf_days_num.setText(String.valueOf(reader.getDays_num()));} else {JOptionPane.showMessageDialog(null, "读者编号有误,查无此人!");init(); // 重新初始化各参数并禁止借出按钮return;}// 查询指定读者是否已借过指定图书且未归还if (IfBorrowBack.findbook(bookid, readerid)) {JOptionPane.showMessageDialog(null, "该读者已借阅所选图书,且未归还!");init(); // 重新初始化各参数并禁止借出按钮return;}// 统计读者所借图书数量int borrowednum = statborrowednum(readerid);tf_borrowednum.setText(String.valueOf(borrowednum));// 如果读者已借图书尚未超出其允许最大借书量,则允许其继续借阅所选图书if (borrowednum < reader.getMax_num()) {tf_if_borrow.setText("是");// 创建一个简单日期格式对象,注意:MM一定要用大写SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");// 创建日期变量,其内容为当前日期Date currentdate = new Date();// 将日期按指定格式输出String borrowdate = sdf.format(currentdate);tf_borrow_date.setText(borrowdate);borrowBtn.setEnabled(true); // 使借出按钮有效} else {JOptionPane.showMessageDialog(null, "该读者借书过多,无法继续借阅!");init(); // 重新初始化各参数并禁止借出按钮return;}}// 填写借出图书记录private void btn_borrowActionPerformed(ActionEvent e) {String sql;String bookid = tf_bookid.getText();String readerid = tf_readerid.getText();String borrowdate = tf_borrow_date.getText();// 为borrow表增加借书记录sql = "insert into borrow (book_id,reader_id,"+ "borrow_date,if_back) values('" + bookid + "','" + readerid + "','" + borrowdate + "','否')";。
用java做的一个图书管理系统的源代码.doc
用 java 做的一个图书管理系统的源代码import .*;import .*;public class T{public static void main(String[] args) throws Exception{Connection conn=null;Statement stmt=null;ResultSet rs=null;while(true){Scanner scanner=new Scanner;"请输入用户名:");String username2=();"请输入密码:");String password2=();if(!("")||(""))){try{("");conn=("jdbc:odbc:book","","");String sql="select * from ww where username='"+username2+"'";stmt=();rs=(sql);if()){if("password").equals(password2)){"*********欢迎来山东科技大学图书馆管理系统********");while(true){" 1.图书信息");" 2. 读者信息");" 3. 管理员信息");" 4.借阅信息");" 5. 还书信息");" 6.逾期罚款或损坏赔偿信息");出");" 请输入选择功能的序号:"); int a=();switch(a){case 1:" 图书信息 : ");" 1. 查询图书信息 : ");" 2. 插入图书信息 : ");" 3. 删除图书信息 : ");" 4. 修改图书信息 : ");int a1=();switch(a1){case 1:" " "欢迎进入图书信息查询系统1. 无条件查询图书信息:2. 条件查询图书信息::");");");int d=();switch(d){case 1:int llll=0;无条件查询图书信息:");String Sql0 = "SELECT * FROM systembook ";rs= (Sql0);while()){String bookID =(1);String bookNo =(2);String bookName =(3);String bookWriter =(4);String bookPub =(5);","+bookNo+","+bookName+","+ bookWriter+","+bookPub);}"是否继续插入 yes/no no 返回主菜单 ");String k=();if("yes"))};if("no")){llll=1;};}break;条件查询图书信息 : ");" 1. 单条件查询图书信息: ");" 2. 模糊条件查询图书信息: ");" 3. 多表连接查询图书信息: ");" 4. 嵌套查询图书信息 : ");" 5. 谓词演算查询");int c12=();switch(c12){case 1:" 1.单条件查询 :");" 1.按图书名编码号查询图书信息:");int ddd=0;while(ddd!=1){"请输入图书编码号:");String A=();String sql1= "SELECT * FROM systembook WHERE bookID ='"+A+"' ";rs= (sql1);int x=0;while()){String a2 =(1);String b2 =(2);String c2 =(3);String d2 =(4);String e2 =(5);","+b2+" ,"+c2+","+d2+","+e2);x++;}if(x==0){" 查无此书 ,请重新输入 ");else{"是否继续按姓名查询yes/no no 返回主菜单 ");String k=();if("yes")){};if("no")){ddd=1;};};}break;case 2:" 2.模糊查询图书信息:");int dc=0;while(dc!=1){" 请用户输入图书名字中的模糊关键字");String E=();String sq123= "SELECT * FROM systembook WHERE bookName LIKE'"+E+"%'";rs= (sq123);int z=0;while()){String a2 =(1);String b2 =(2);String c2 =(3);String d2 =(4);String e2 =(5);","+b2+" ,"+c2+","+d2+","+e2);z++;}if(z==0){" 查无此书 ,请重新输入 ");}else{"是否继续输入图书名字中的模糊关键字yes/no no 返回主菜单 ");String k=();if("yes")){};if("no")){dc=1;表连接查询查询图书信息: ");int dq=0;while(dq!=1){" 查询逾期罚款或是赔偿表中的读者的相关信息");" 请输入逾期罚款或是赔偿的读者编码号");String F=();String sq1234= "SELECT * FROM fine,borrowbook,systemreader WHERE = AND = AND ='"+F+"' ";rs= (sq1234);int n=0;while()){String a2 =(1);String b2 =(2);String c2 =(3);String d2 =(4);String e2 =(5);","+b2+" ,"+c2+","+d2+","+e2);n++;}if(n==0){" 查无此人 ,请重新输入 ");}else{" 是否继续输入图书名字中的模糊关键字yes/no no 返回主菜单 ");if("yes")){};if("no")){ddd=1;};}}break;case 4:" 4.嵌套查询图书信息:");int dq1=0;while(dq1!=1){"查询某读者所在年级女读者的相关信息");"请输入某读者的读者编号");String G=();String sq12345= "SELECT * FROM systemreader WHERE reaGrade=(SELECT reaGrade FROM systemreader WHERE reaID='"+G+"') AND reasex='女'"; rs= (sq12345);int m=0;while()){String a2 =(1);String b2 =(2);String c2 =(3);String d2 =(4);String e2 =(5);","+b2+" ,"+c2+","+d2+","+e2);m++;}if(m==0){" 查无此书 ,请重新输入 ");}else{"是否继续输入读者编号yes/no no 返回主菜单 ");if("yes")){};if("no")){d=1;};}}break;case 5:" 5. 谓词演算查询:");int dq1123=0;while(dq1123!=1){"查询借阅了某本书的读者的相关信息");"请输入该书的名字");String H=();String sq123456= "SELECT* FROM systemreader WHERE reaID IN (SELECT reaID FROM borrowbook WHERE bookName='"+H+"')";rs= (sq123456);int l=0;while()){String a2 =(1);String b2 =(2);String c2 =(3);String d2 =(4);String e2 =(5);","+b2+" ,"+c2+","+d2+","+e2);l++;}if(l==0){" 查无此人 ,请重新输入 ");}else{" 是否继续输入图书名字yes/no no 返回主菜单");String k=();if("yes")){} ;if("no")){d=1;};}}break;}查询图书信息 :");String Sql = "SELECT * FROM systembook ";rs= (Sql);while()){插入图书信息: " 请按顺序插入图书条码号");,图书索书号,图书名字,图书作者,图书出版社");String str=();String []splitst=(",");String a11=splitst[0];String a12=splitst[1];String a13=splitst[2];String a14=splitst[3];String a15=splitst[4];String insertSql="INSERT INTO systembook(bookID,bookNo,bookName,bookWriter,bookPub) VALUES('"+a11+"','"+a12+"','"+a13+"','"+a14+"','"+a15+"')";int i=(insertSql);删除图书信息:");"请输入要删除的图书编号:");String Str=();String []Splitst=(",");String b3=Splitst[0];String sql1="SELECT * FROM systembook where bookID='"+b3+"'";rs= (sql1);int kkk=0;while()){String a22 =(1);String b22 =(2);String c22 =(3);String d22 =(4);String e22 =(5);String f22 =(6);","+b22+" ,"+c22+","+d22+","+e22+","+f22);kkk++;}if(kkk==0){"没有这本书,请重新输入");}else{{String deleSql= "DELETE FROM systembook WHEREbookID='"+b3+"'";int p=(deleSql);修改图书信息:");"请输入修改的图书ID");String S=();String sql1="SELECT * FROM systembook where bookID='"+S+"'";rs= (sql1);int lll=0;while()){String a222 =(1);String b222 =(2);String c222 =(3);String d222 =(4);String e222 =(5);String f222 =(6);","+b222+" ,"+c222+","+d222+","+e222+","+f222);lll++;}if(lll==0){"没有这本书,请重新输入");}else{"要将书名改为");String bbb=();String updateSql1="UPDATE systembook SET bookName='"+bbb+"' WHERE bookID='"+S+"'";int hh=(updateSql1);查询读者信息" 2. 插入读者信息 :");" 3. 删除读者信息 :");" 4. 修改读者信息:"int b1=();switch(b1){case 1:" 1. 查询读者信息 :"); :);");String ssql = "SELECT * FROM systemreader ";rs= (ssql);while()){插入读者信息 :");"请按顺序插入借书卡证号读者名字读者学号读者性别读者LBID 读者类型读者学院读者年级读者专业办证日期");String str=();String []splitst=(",");String b11=splitst[0];String b12=splitst[1];String b13=splitst[2];String b14=splitst[3];String b15=splitst[4];String b16=splitst[5];String b17=splitst[6];String b18=splitst[7];String b19=splitst[8];String b20=splitst[9];String insertSql="INSERT INTOsystemreader(reaID,reaName,reaNo,reaSex,reaLBID,reaType,reaDep,reaGrade,reaPre,reaDate) VALUES('"+b11+"','"+b12+"','"+b13+"','"+b14+"','"+b15+"','"+b16+"','"+b17+"','"+b18+"','"+b19+"' ,'"+b20+"')";int n=(insertSql);删除读者信息:");"请输入要删除的读者证号:");String Str=();String []Splitst=(",");String r=Splitst[0];String sql1="SELECT * FROM systemreader where reaID='"+r+"'";rs= (sql1);int kkk=0;while()){String a22 =(1);String b22 =(2);String c22 =(3);String d22 =(4);String e22 =(5);String f22 =(6);String g22 =(7);String h22 =(8);String i22 =(9);","+b22+" ,"+c22+","+d22+","+e22+","+f22+","+g22+","+h22+","+i22);kkk++;}if(kkk==0){"没有这个读者,请重新输入");}else{修改读者信息:");"请输入修改以后的读者的ID ");String S=();查询管理员信息 : ");" 2. 插入管理员信息 : ");" 3. 删除管理员信息 : ");" 4. 修改管理员信息 : ");" 5. 返回上一级");int c11=();switch(c11){case 1:" 1. 查询管理员信息: ");String Ssql = "SELECT * FROM manager ";rs= (Ssql);while()){插入管理员信息 :");" 请按顺序插入管理员的编号,管理员的姓名,管理员的性别,所管书库,电话,地址 ");String str=();String []splitst=(",");String a11=splitst[0];String a12=splitst[1];String a13=splitst[2];String a14=splitst[3];String a15=splitst[4];String a16=splitst[5];String insertSql="INSERT INTOmanager(mID,mName,mSex,mAuth,mTeleph,mAddre)VALUES('"+a11+"','"+a12+"','"+a13+"','"+a14+"','"+a15+"','"+a16+"')";int i=(insertSql);删除管理员信息:");"请输入要删除的管理员编号 :");String Str=();String []Splitst=(",");String b3=Splitst[0];String sql1="SELECT * FROM manager where mID='"+b3+"'";rs= (sql1);int kkk=0;while()){String a22 =(1);String b22 =(2);String c22 =(3);String d22 =(4);String e22 =(5);String f22 =(6);","+b22+" ,"+c22+","+d22+","+e22+","+f22);kkk++;}if(kkk==0){"没有这个管理员,请重新输入");}else{修改管理员信息: ");" 请输入要修改的管理员编号:");String S=();String []Ssplitst=(",");String c1=Ssplitst[0];String sql1="SELECT * FROM manager where mID='"+S+"'";rs= (sql1);int lll=0;while()){String a222 =(1);String b222 =(2);String c222 =(3);String d222 =(4);String e222 =(5);String f222 =(6);","+b222+" ,"+c222+","+d222+","+e222+","+f222);lll++;}if(lll==0){"没有这个管理员,请重新输入");}else{查询图书借阅信息信息: ");" 2. 插入图书借阅信息 : ");" 3. 删除图书借阅信息 : ");" 4. 修改图书借阅信息 : ");" 5. 返回上一级");int d=();switch(d){case 1:" 1. 查询图书借阅信息:");String Sql4 = "SELECT * FROM borrowbook ";rs= (Sql4);while()){String bookID =(1);String reaID =(2);String outDate =(3);String yhDate =(4);","+reaID+","+outDate+","+yhDate);}break;case 2:int zz=0;while(zz!=1){" 2. 插入图书借阅信息:");"请按顺序插入图书的的编号 ,读者编号 ,图书借出日期 ,图书归还日期 ");String str=();String []splitst=(",");String a11=splitst[0];String a12=splitst[1];String a13=splitst[2];String a14=splitst[3];删除图书借阅信息:");"请输入要删除的图书条码号 :");String Str=();String []Splitst=(",");String b3=Splitst[0];String sql1="SELECT * FROM borrowbook where bookID='"+b3+"'";rs= (sql1);int kkk=0;while()){String a22 =(1);String b22 =(2);String c22 =(3);String d22 =(4);修改借阅读书信息:");"请输入要修改的图书的 ID ");String S=();String []Ssplitst=(",");String c1=Ssplitst[0];String sql1="SELECT * FROM borrowbook where bookID='"+S+"'";rs= (sql1);int lll=0;while()){String a222 =(1);String b222 =(2);String c222 =(3);String d222 =(4);查询还书信息 : ");" 2. 插入还书信息 : ");" 3. 删除还书信息 : ");" 4. 修改还书信息 : ");" 5. 返回上一级");int e=();switch(e){case 1:"1. 查询还书信息 : ");sql = "SELECT * FROM return ";rs= (sql);while()){String reaID =(1);String bookID =(2);String bookName =(3);String inDate =(4);","+bookID+","+bookName+","+ inDate);}break;case 2:" 2. 插入还书信息:");"请按顺序插入读者卡号 ,图书编号 ,图书名称 ,还书日期 ");String str=();String []splitst=(",");String e1=splitst[0];String e2=splitst[1];String e3=splitst[2];String e4=splitst[3];String insertSql="INSERT INTO returnbook(reaID,bookID,bookName,inDate) VALUES('"+e1+"','"+e2+"','"+e3+"','"+e4+"')";int h=(insertSql); 删除还书书信息: ");"请输入要删除的读者证号:");String Str=();String []Splitst=(",");String f3=Splitst[0];String deleSql= "DELETE FROM return WHERE reaID='"+f3+"'";int w=(deleSql);查询罚款信息:");" 2. 插入罚款信息 : ");" 3. 删除罚款信息 : ");" 4. 修改罚款信息 : ");int g=();switch(g){case 1:"1. 查询罚款信息 : ");String Sssql = "SELECT * FROM fine ";rs= (Sssql);while()){插入罚款信息 : ");" 请按顺序插入读者卡号 , 图书编号 ,借书日期,超出日期 ,应缴罚款 ");String str=();String []splitst=(",");String g1=splitst[0];String g2=splitst[1];String g3=splitst[2];String g4=splitst[3];String g5=splitst[4];删除罚款信息 : ");"请输入要删除的读者证号:");String Str=();String []Splitst=(",");String r=Splitst[0];String deleSql= "DELETE FROM fine WHERE reaID='"+r+"'";int x=(deleSql); 查询借阅历史信息 : ");" 2. 插入借阅历史信息 : ");" 3. 删除借阅历史信息 : ");" 4. 修改借阅历史信息 : ");" 5. 返回上一级");int h=();switch(h){case 1:" 1. 查询历史借阅信息:");String Sql7 = "SELECT * FROM borrowhistory ";rs= (Sql7);while()){String bookID =(1);String reaID =(2);String bookName=(3);String bookWriter=(4);String outDate =(5);String yhDate =(6);","+reaID+","+bookName+","+bookWriter+","+outDate+","+yhDate);}break;case 2:" 2. 插入图书历史借阅信息:");"请按顺序插入图书的的编号 ,读者编号 ,,图书借出日期 ,图书归还日期 ");String str=();String []splitst=(",");String a11=splitst[0];String a12=splitst[1];String a13=splitst[2];String a14=splitst[3];删除图书历史借阅信息:");" 请输入要删除的图书条码号:");String Str=();String []Splitst=(",");String d3=Splitst[0];String deleSql= "DELETE bookID FROM borrowhistory WHERE bookID='"+d3+"'";int k=(deleSql);修改图书借阅历史信息" 请输入要修改的图书的借出日期String S=();:");");String []Ssplitst=(",");String c1=Ssplitst[0];String updateSql="UPDATE borrow SET outDate='"+c1+"' WHERE bookName=' 数据库 '";int t=(updateSql); // 返回记录影响的条数if(t!=0){" 修改成功 !");}break;}}}}}else{"非法用户! ");}}catch(SQLException e) {();}//();();();}}}}。
用java做的一个图书管理系统的源代码
用j a v a做的一个图书管理系统的源代码标准化文件发布号:(9312-EUATWW-MWUB-WUNN-INNUL-DQQTY-用java做的一个图书管理系统的源代码import .*;import .*;public class T{public static void main(String[] args) throws Exception{Connection conn=null;Statement stmt=null;ResultSet rs=null;while(true){Scanner scanner=new Scanner;"请输入用户名:");String username2=();"请输入密码:");String password2=();if(!("")||(""))){try{("");conn=("jdbc:odbc:book","","");String sql="select * from ww where username='"+username2+"'"; stmt=();rs=(sql);if()){if("password").equals(password2)){"*********欢迎来山东科技大学图书馆管理系统********"); while(true){" 1.图书信息 ");" 2.读者信息 ");" 3.管理员信息 ");" 4.借阅信息 ");" 5.还书信息 ");" 6.逾期罚款或损坏赔偿信息");出 ");" 请输入选择功能的序号 :");int a=();switch(a){case 1:" 图书信息: ");" 1. 查询图书信息: ");" 2. 插入图书信息: ");" 3. 删除图书信息: ");" 4. 修改图书信息: ");int a1=();switch(a1){case 1:" 欢迎进入图书信息查询系统: ");" 1. 无条件查询图书信息: ");" 2. 条件查询图书信息: ");int d=();switch(d){case 1:int llll=0;无条件查询图书信息: ");String Sql0 = "SELECT * FROM systembook ";rs= (Sql0);while()){String bookID =(1);String bookNo =(2);String bookName =(3);String bookWriter =(4);String bookPub =(5);","+bookNo+","+bookName+","+ bookWriter+","+bookPub); }"是否继续插入yes/no no返回主菜单");String k=();if("yes")){};if("no")){llll=1;};}break;条件查询图书信息: ");" 1. 单条件查询图书信息: ");" 2. 模糊条件查询图书信息: ");" 3. 多表连接查询图书信息: ");" 4. 嵌套查询图书信息: ");" 5. 谓词演算查询 ");int c12=();switch(c12){case 1:" 1.单条件查询: ");" 1.按图书名编码号查询图书信息: ");int ddd=0;while(ddd!=1){"请输入图书编码号:");String A=();String sql1= "SELECT * FROM systembook WHERE bookID ='"+A+"' ";rs= (sql1);int x=0;while()){String a2 =(1);String b2 =(2);String c2 =(3);String d2 =(4);String e2 =(5);","+b2+" ,"+c2+","+d2+","+e2);x++;}if(x==0){"查无此书,请重新输入");}else{"是否继续按姓名查询yes/no no返回主菜单");String k=();if("yes")){};if("no")){ddd=1;};};}break;case 2:" 2.模糊查询图书信息: ");int dc=0;while(dc!=1){"请用户输入图书名字中的模糊关键字");String E=();String sq123= "SELECT * FROM systembook WHERE bookName LIKE'"+E+"%'";rs= (sq123);int z=0;while()){String a2 =(1);String b2 =(2);String c2 =(3);String d2 =(4);String e2 =(5);","+b2+" ,"+c2+","+d2+","+e2);z++;}if(z==0){"查无此书,请重新输入");else{"是否继续输入图书名字中的模糊关键字yes/no no返回主菜单");String k=();if("yes")){};if("no")){dc=1;表连接查询查询图书信息: ");int dq=0;while(dq!=1){"查询逾期罚款或是赔偿表中的读者的相关信息");"请输入逾期罚款或是赔偿的读者编码号");String F=();String sq1234= "SELECT * FROM fine,borrowbook,systemreader WHERE = AND = AND ='"+F+"' ";rs= (sq1234);int n=0;while()){String a2 =(1);String b2 =(2);String c2 =(3);String d2 =(4);String e2 =(5);","+b2+" ,"+c2+","+d2+","+e2);n++;}if(n==0){"查无此人,请重新输入");}else{"是否继续输入图书名字中的模糊关键字yes/no no返回主菜单");String k=();if("yes")){};if("no")){ddd=1;};}}break;case 4:" 4.嵌套查询图书信息: ");int dq1=0;while(dq1!=1){"查询某读者所在年级女读者的相关信息");"请输入某读者的读者编号");String G=();String sq12345= "SELECT * FROM systemreader WHERE reaGrade=(SELECT reaGrade FROM systemreader WHERE reaID='"+G+"') AND reasex='女'";rs= (sq12345);int m=0;while()){String a2 =(1);String b2 =(2);String c2 =(3);String d2 =(4);String e2 =(5);","+b2+" ,"+c2+","+d2+","+e2);m++;}if(m==0){"查无此书,请重新输入");}else{"是否继续输入读者编号yes/no no返回主菜单");String k=();if("yes"))};if("no")){d=1;};}}break;case 5:" 5. 谓词演算查询: ");int dq1123=0;while(dq1123!=1){"查询借阅了某本书的读者的相关信息");"请输入该书的名字");String H=();String sq123456= "SELECT * FROM systemreader WHERE reaID IN (SELECT reaID FROM borrowbook WHERE bookName='"+H+"')";rs= (sq123456);int l=0;while()){String a2 =(1);String b2 =(2);String c2 =(3);String d2 =(4);String e2 =(5);","+b2+" ,"+c2+","+d2+","+e2);l++;}if(l==0){"查无此人,请重新输入");}else{"是否继续输入图书名字yes/no no返回主菜单");String k=();if("yes")){};if("no")){d=1;};}}break;}查询图书信息: ");String Sql = "SELECT * FROM systembook ";rs= (Sql);while()){插入图书信息: ");"请按顺序插入图书条码号,图书索书号,图书名字,图书作者,图书出版社");String str=();String []splitst=(",");String a11=splitst[0];String a12=splitst[1];String a13=splitst[2];String a14=splitst[3];String a15=splitst[4];String insertSql="INSERT INTOsystembook(bookID,bookNo,bookName,bookWriter,bookPub)VALUES('"+a11+"','"+a12+"','"+a13+"','"+a14+"','"+a15+"')";int i=(insertSql); 删除图书信息: ");"请输入要删除的图书编号:");String Str=();String []Splitst=(",");String b3=Splitst[0];String sql1="SELECT * FROM systembook where bookID='"+b3+"'";rs= (sql1);int kkk=0;while()){String a22 =(1);String b22 =(2);String c22 =(3);String d22 =(4);String e22 =(5);String f22 =(6);","+b22+" ,"+c22+","+d22+","+e22+","+f22);kkk++;}if(kkk==0){"没有这本书,请重新输入");}else{{String deleSql= "DELETE FROM systembook WHERE bookID='"+b3+"'";int p=(deleSql); 修改图书信息: ");"请输入修改的图书ID ");String S=();String sql1="SELECT * FROM systembook where bookID='"+S+"'"; rs= (sql1);int lll=0;while()){String a222 =(1);String b222 =(2);String c222 =(3);String d222 =(4);String e222 =(5);String f222 =(6);","+b222+" ,"+c222+","+d222+","+e222+","+f222);lll++;}if(lll==0){"没有这本书,请重新输入");}else{"要将书名改为");String bbb=();String updateSql1="UPDATE systembook SET bookName='"+bbb+"' WHERE bookID='"+S+"'";int hh=(updateSql1); 查询读者信息: ");" 2. 插入读者信息: ");" 3. 删除读者信息: ");" 4. 修改读者信息: " );int b1=();switch(b1){case 1:" 1. 查询读者信息: ");String ssql = "SELECT * FROM systemreader ";rs= (ssql);while()){插入读者信息: ");"请按顺序插入借书卡证号读者名字读者学号读者性别读者LBID 读者类型读者学院读者年级读者专业办证日期");String str=();String []splitst=(",");String b11=splitst[0];String b12=splitst[1];String b13=splitst[2];String b14=splitst[3];String b15=splitst[4];String b16=splitst[5];String b17=splitst[6];String b18=splitst[7];String b19=splitst[8];String b20=splitst[9];String insertSql="INSERT INTOsystemreader(reaID,reaName,reaNo,reaSex,reaLBID,reaType,reaDep,reaGrade,reaPr e,reaDate)VALUES('"+b11+"','"+b12+"','"+b13+"','"+b14+"','"+b15+"','"+b16+"','"+b17+"','"+b18 +"','"+b19+"','"+b20+"')";int n=(insertSql); 删除读者信息: ");"请输入要删除的读者证号:");String Str=();String []Splitst=(",");String r=Splitst[0];String sql1="SELECT * FROM systemreader where reaID='"+r+"'";rs= (sql1);int kkk=0;while()){String a22 =(1);String b22 =(2);String c22 =(3);String d22 =(4);String e22 =(5);String f22 =(6);String g22 =(7);String h22 =(8);String i22 =(9);","+b22+" ,"+c22+","+d22+","+e22+","+f22+","+g22+","+h22+","+i22); kkk++;}if(kkk==0){"没有这个读者,请重新输入");}else{修改读者信息: ");"请输入修改以后的读者的ID ");String S=();查询管理员信息: ");" 2. 插入管理员信息: ");" 3. 删除管理员信息: ");" 4. 修改管理员信息: ");" 5. 返回上一级 ");int c11=();switch(c11){case 1:" 1. 查询管理员信息: ");String Ssql = "SELECT * FROM manager ";rs= (Ssql);while()){插入管理员信息: ");"请按顺序插入管理员的编号,管理员的姓名,管理员的性别,所管书库,电话,地址");String str=();String []splitst=(",");String a11=splitst[0];String a12=splitst[1];String a13=splitst[2];String a14=splitst[3];String a15=splitst[4];String a16=splitst[5];String insertSql="INSERT INTOmanager(mID,mName,mSex,mAuth,mTeleph,mAddre)VALUES('"+a11+"','"+a12+"','"+a13+"','"+a14+"','"+a15+"','"+a16+"')";int i=(insertSql); 删除管理员信息: ");"请输入要删除的管理员编号:");String Str=();String []Splitst=(",");String b3=Splitst[0];String sql1="SELECT * FROM manager where mID='"+b3+"'";rs= (sql1);int kkk=0;while()){String a22 =(1);String b22 =(2);String c22 =(3);String d22 =(4);String e22 =(5);String f22 =(6);","+b22+" ,"+c22+","+d22+","+e22+","+f22);kkk++;}if(kkk==0){"没有这个管理员,请重新输入");}else{修改管理员信息: ");"请输入要修改的管理员编号: ");String S=();String []Ssplitst=(",");String c1=Ssplitst[0];String sql1="SELECT * FROM manager where mID='"+S+"'"; rs= (sql1);int lll=0;while()){String a222 =(1);String b222 =(2);String c222 =(3);String d222 =(4);String e222 =(5);String f222 =(6);","+b222+" ,"+c222+","+d222+","+e222+","+f222); lll++;}if(lll==0){"没有这个管理员,请重新输入");}else{查询图书借阅信息信息: ");" 2. 插入图书借阅信息: ");" 3. 删除图书借阅信息: ");" 4. 修改图书借阅信息: ");" 5. 返回上一级 ");int d=();switch(d){case 1:" 1. 查询图书借阅信息: ");String Sql4 = "SELECT * FROM borrowbook ";rs= (Sql4);while()){String bookID =(1);String reaID =(2);String outDate =(3);String yhDate =(4);","+reaID+","+outDate+","+yhDate);}break;case 2:int zz=0;while(zz!=1){" 2. 插入图书借阅信息: ");"请按顺序插入图书的的编号,读者编号,图书借出日期,图书归还日期");String str=();String []splitst=(",");String a11=splitst[0];String a12=splitst[1];String a13=splitst[2];String a14=splitst[3];删除图书借阅信息: ");"请输入要删除的图书条码号:");String Str=();String []Splitst=(",");String b3=Splitst[0];String sql1="SELECT * FROM borrowbook where bookID='"+b3+"'";rs= (sql1);int kkk=0;while()){String a22 =(1);String b22 =(2);String c22 =(3);String d22 =(4);修改借阅读书信息: ");"请输入要修改的图书的ID ");String S=();String []Ssplitst=(",");String c1=Ssplitst[0];String sql1="SELECT * FROM borrowbook where bookID='"+S+"'";rs= (sql1);int lll=0;while()){String a222 =(1);String b222 =(2);String c222 =(3);String d222 =(4);查询还书信息: ");" 2. 插入还书信息: ");" 3. 删除还书信息: ");" 4. 修改还书信息: ");" 5. 返回上一级 ");int e=();switch(e){case 1:" 1. 查询还书信息: ");sql = "SELECT * FROM return ";rs= (sql);while()){String reaID =(1);String bookID =(2);String bookName =(3);String inDate =(4);","+bookID+","+bookName+","+ inDate);}break;case 2:" 2. 插入还书信息: ");"请按顺序插入读者卡号,图书编号,图书名称,还书日期");String str=();String []splitst=(",");String e1=splitst[0];String e2=splitst[1];String e3=splitst[2];String e4=splitst[3];String insertSql="INSERT INTOreturnbook(reaID,bookID,bookName,inDate)VALUES('"+e1+"','"+e2+"','"+e3+"','"+e4+"')";int h=(insertSql); 删除还书书信息: ");"请输入要删除的读者证号:");String Str=();String []Splitst=(",");String f3=Splitst[0];String deleSql= "DELETE FROM return WHERE reaID='"+f3+"'";int w=(deleSql); 查询罚款信息: ");" 2. 插入罚款信息: ");" 3. 删除罚款信息: ");" 4. 修改罚款信息: ");int g=();switch(g){case 1:" 1. 查询罚款信息: ");String Sssql = "SELECT * FROM fine ";rs= (Sssql);while()){插入罚款信息: ");"请按顺序插入读者卡号,图书编号,借书日期,超出日期,应缴罚款");String str=();String []splitst=(",");String g1=splitst[0];String g2=splitst[1];String g3=splitst[2];String g4=splitst[3];String g5=splitst[4];删除罚款信息: ");"请输入要删除的读者证号:");String Str=();String []Splitst=(",");String r=Splitst[0];String deleSql= "DELETE FROM fine WHERE reaID='"+r+"'";int x=(deleSql); 查询借阅历史信息: ");" 2. 插入借阅历史信息: ");" 3. 删除借阅历史信息: ");" 4. 修改借阅历史信息: ");" 5. 返回上一级 ");int h=();switch(h){case 1:" 1. 查询历史借阅信息: ");String Sql7 = "SELECT * FROM borrowhistory ";rs= (Sql7);while()){String bookID =(1);String reaID =(2);String bookName=(3);String bookWriter=(4);String outDate =(5);String yhDate =(6);","+reaID+","+bookName+","+bookWriter+","+outDate+","+yhDate);}break;case 2:" 2. 插入图书历史借阅信息: ");"请按顺序插入图书的的编号,读者编号,,图书借出日期,图书归还日期");String str=();String []splitst=(",");String a11=splitst[0];String a12=splitst[1];String a13=splitst[2];String a14=splitst[3];删除图书历史借阅信息: ");"请输入要删除的图书条码号:");String Str=();String []Splitst=(",");String d3=Splitst[0];String deleSql= "DELETE bookID FROM borrowhistory WHEREbookID='"+d3+"'";int k=(deleSql); 修改图书借阅历史信息: ");"请输入要修改的图书的借出日期 ");String S=();String []Ssplitst=(",");String c1=Ssplitst[0];String updateSql="UPDATE borrow SET outDate='"+c1+"' WHERE bookName='数据库'";int t=(updateSql); //返回记录影响的条数if(t!=0){"修改成功!");}break;}}}}}else{"非法用户!");}}catch(SQLException e) { ();}//();();();}}}}。
java编写的图书管理系统源代码
/用户登陆数据库代码:importjava.sql.*;classDatabase{Connectioncon;ResultSetrs;Statementstmt;publicDatabase(){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//加载JDBC-ODBC桥驱动程序Stringurl="jdbcdbc:HDB";con=DriverManager.getConnection(url);//连接数据库HDB//stmt提供一个创建SQL查询、执行查询、得到返回结果的空间stmt= //con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,//ResultSet.CONCUR_READ_ONLY);}catch(Exceptionex){System.out.println(ex);}}/*根据用户名,获取密码*/publicStringgetPswd(Stringname){try{//rs为执行SQL语句所查询的结果赋给结果集对象rsrs=stmt.executeQuery("SELECTpswdFROMUserWHEREName='"+name+"'");st();//把rs的指针移到最后一行if(rs.getRow()==0){returnnull;}else{StringpswdDB=rs.getString("Pswd");//获取rs结果集中的pswd列的数据returnpswdDB;}}catch(Exceptione){System.out.println(e);returnnull;}}/*增加一行用户名、密码数据*/publicbooleaninsertData(Stringname,Stringpswd){try{Strings=getPswd(name);if(s==null){intrtn=stmt.executeUpdate("INSERTINTOUserVALUES('"+name+"','"+pswd+"')");if(rtn!=0)returntrue;}else{returnfalse;}returnfalse;}catch(Exceptionet){System.out.println(et);returnfalse;}}}//进库数据库代码:importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.Statement;classBookDatabase{Connectioncon;ResultSetrs;Statementstmt;publicBookDatabase(){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//加载JDBC-ODBC桥驱动程序Stringurl="jdbcdbc:Book";con=DriverManager.getConnection(url);//连接数据库HDB//stmt提供一个创建SQL查询、执行查询、得到返回结果的空间stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);}catch(Exceptionex){System.out.println(ex);}}/*增加一行用户名、密码数据*/publicbooleaninsertData(Stringid,Stringname,Stringwhere,Stringprice,Stringdate){try{intrtn=stmt.executeUpdate("INSERTINTOBookVALUES('"+id +"','"+name+"','"+where+"','"+price+"','"+date+"')");if(rtn!=0){returntrue;}else{returnfalse;}}catch(Exceptionet){System.out.println(et);returnfalse;}}/**publicbooleandeleteData(Stringid){try{intrtn=*stmt.executeUpdate("DELETEFROMBookWHEREid=001");if(rtn!=0){ *returntrue;}else{returnfalse;}}catch(Exceptione){*System.out.println(e);returnfalse;}}publicbooleanSelect(String*id){try{intrtn=stmt.executeUpdate("SELECT*FROMBookInWHERE *id='"+id+"'");**if(rtn!=0){returntrue;}else{returnfalse;}}catch(Exception*e){System.out.println(e);returnfalse;}}*/}//出库数据库代码:importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.Statement;classBookDatabase1{Connectioncon;ResultSetrs;Statementstmt;publicBookDatabase1(){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//加载JDBC-ODBC桥驱动程序Stringurl="jdbcdbc:Book";con=DriverManager.getConnection(url);//连接数据库HDB//stmt提供一个创建SQL查询、执行查询、得到返回结果的空间stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);}catch(Exceptionex){System.out.println(ex);}}/**增加一行用户名、密码数据publicbooleaninsertData(Stringid,Stringname,String*where,String**price,Stringdate){try{intrtn=stmt.executeUpdate("INSERTINTO*BookInVALUES('"+id+**"','"+name+"','"+where+"','"+price+"','"+date+"')");**if(rtn!=0){returntrue;}else{returnfalse;}}catch(Exception*et){System.out.println(et);returnfalse;}}*/publicbooleandeleteData(Stringid){try{intrtn=stmt.executeUpdate("DELETEFROMBookWHEREid='"+id+"'");if(rtn!=0){returntrue;}else{returnfalse;}}catch(Exceptione){System.out.println(e);returnfalse;}}/**publicbooleanSelect(Stringid){try{intrtn=*stmt.executeUpdate("SELECT*FROMBookInWHEREid='"+id+"'");if(rtn!=*0){returntrue;}else{returnfalse;}}catch(Exceptione){*System.out.println(e);returnfalse;}}*/}//查询数据库代码;importjava.awt.*;importjava.awt.event.*;importjava.sql.*;importjavax.swing.*;classBookDatabase2extendsJFrame{Stringnumber,name,address,prices,day;Connectioncon;Statementstmt=null;ResultSetresult=null;Stringsql=null;publicBookDatabase2(){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//加载JDBC-ODBC桥驱动程序Stringurl="jdbc:odbc:Book";con=DriverManager.getConnection(url);//连接数据库HDB//stmt提供一个创建SQL查询、执行查询、得到返回结果的空间stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);}catch(Exceptionex){System.out.println(ex);}}publicvoidselect(Stringid){try{sql="SELECT*FROMBookwhereid='"+id+"'";result=stmt.executeQuery(sql);while(result.next()){number=result.getString(1);name=result.getString(2);address=result.getString(3);prices=result.getString(4);day=result.getString(4);}JOptionPane.showMessageDialog(BookDatabase2.this,"成功查询图书!\n"+"图书ID:"+number+"\n"+"图书名称:"+name+"\n"+"出版社"+address+"\n"+"价格:"+prices+"\n"+"出版日期:"+day+"\n","提示",JOptionPane.ERROR_MESSAGE);}catch(Exceptione){System.out.println(e);}}。
Java实验报告之图书管理系统
Java实验报告图书管理系统1.管理员界面<<密码验证<<展示所有图书<<查找图书<<添加书籍<<删除书籍<<修改密码<<返回上一层<<结束2.学生界面<<身份识别<<查找图书<<借阅图书<<归还书籍<<返回上一层<<结束3.退出程序源代码:Main.javapackage pany;import java.util.Date;import java.util.Scanner;public class Main {public static void main(String[] args) {// write your code hereUser U;Library L=new Library("东北大学图书馆");System.out.println("欢迎来到东北大学图书馆");Book b1=new Book("java编程思想","sdhf","554532",new Date(2016,12,13),15);Book b2=new Book("C++编程","nimei","15654",newDate(2017,5,13),5);Students s1=new Undergraduate("黎明","20175821"); Students s2=new Master("狭隘","20164545");b1.BookUser.add(s2);b1.BookUser.add(s1);b2.BookUser.add(s2);b2.BookUser.add(s1);L.addBook(b1);L.addBook(b2);//在以上的代码中都是为了增加图书馆中的藏书Scanner sc=new Scanner(System.in);String order;//命令操作板while(true){System.out.println("命令操作符\n<<AccessADInterface\n<<AccessSTInterface\n<<over");System.out.print("<<");order=sc.next();if(order.equals("AccessADInterface")){Administrators A=new Administrators();if (A.getPassWord() == 1){while(true) {System.out.println("命令操作符\n<<ShowAllBook\n<<SearchBook\n<<AddBook\n<<DeleteBook\n<< ChangePassWord\n<<GoBack\n<<over");System.out.print("<<");order = sc.next();if (order.equals("ShowAllBook")) {L.ShowBook();} else if(order .equals( "SearchBook")) {L.ShowBook(L.SearchBook());} else if(order.equals( "AddBook") ){L.addBook();} else if(order .equals( "DeleteBook")) {L.DeleteBook();} elseif(order.equals("ChangePassWord")){A.changePassWord();} else if (order .equals( "GoBack")) {break;} else if (order .equals( "over")) { System.out.println("已退出图书管理系统");System.exit(0);}}}else{System.exit(0);}} else if(order.equals("AccessSTInterface")){ U=erComing();while (true){System.out.println("<<SearchBook\n<<BorrowBook\n<<ReturnBo ok\n<<GoBack\n<<over");System.out.print("<<");order=sc.next();if(order.equals("SearchBook")) {L.ShowBook(L.SearchBook());}else if(order.equals("BorrowBook")){ L.SearchBook().BookBorrow(U);}else if(order.equals("ReturnBook")){ L.ReturnBook(U);}else if(order.equals("GoBack")){break;}}}else if(order.equals("over")){System.out.println("已退出图书管理系统"); System.exit(0);}else {System.out.println("输入了错误的指令");continue;}}}}Library.javapackage pany;import java.util.Scanner;import java.util.Vector;public class Library {public static final int OK=1;public static final int ERROR=1;Vector<Object> book= new Vector();//用来存储书类丹书类中也存有用户类private String Libraryname;Scanner sc=new Scanner(System.in);Library (String name){this.Libraryname=name;}public User UserComing() {int kind;User U;Scanner sc = new Scanner(System.in);System.out.println("如果你是老师请输入1,若是学生请输入2");while (true) {while(true){kind = sc.nextInt();if (kind == 1) {U = new Teacher();return U;} else if (kind == 2) {System.out.println("如果你是本科生请输入1,若是硕士研究生请输入2");while (true){kind=sc.nextInt();if(kind==1){U = new Undergraduate();return U;}else if(kind==2){U=new Master();return U;}else{System.out.println("输入错误");break;}}} else {System.out.println("输入错误");System.out.println("请重新输入:");break;}}}}public void addBook(Book b){book.add(b);}public void addBook(){int i;i=1;Book b;while(i==1){b=new Book();this.addBook(b);System.out.println("如果要继续输入书本信息就输入1,否则就输入2");i=sc.nextInt();}}public Book SearchBook(){String BookName;Book b;System.out.println("请输入你要借查询的书"); BookName=sc.next();for(int i=0;i<this.book.size();i++){b=(Book)this.book.elementAt(i);if(b.bookName.equals(BookName)){return b;}}return null;}public void ReturnBook(User U){User u;Book b;b=this.SearchBook();for(int i=0;i<b.BookUser.size();i++){u=(User) b.BookUser.elementAt(i);if(u==U){U.numBookBor--;b.BookUser.remove(i);b.surplus++;System.out.println("还书成功");return;}else {System.out.println("您不是这本书的借阅者,不能还书");return;}}System.out.println("找不到你要的书");}public void DeleteBook(){String BookName;Book b;System.out.println("请输入你要删除的书");BookName=sc.next();for(int i=0;i<this.book.size();i++){b=(Book)this.book.elementAt(i);if(b.bookName.equals(BookName)){if(b.BookUser.size()==0){this.book.remove(i);System.out.println("已经成功的删除书籍");}else {System.out.println("还有人尚未还书,不能够删除书籍");}}}}public void ShowBook(){Book b;for(int i=0;i<this.book.size();i++){b=(Book)book.elementAt(i);System.out.println((i+1)+"\t"+b.bookName+"\t"+b.auther+"\t" +b.bookNum+"\t"+b.depositTime.getYear()+"\t"+b.depositTime. getMonth()+"\t"+b.depositTime.getDay()+"\t"+b.surplus);}}public void ShowBook(Book b){System.out.println("\t"+b.bookName+"\t"+b.auther+"\t"+b.boo kNum+"\t"+b.depositTime.getYear()+"\t"+b.depositTime.getMon th()+"\t"+b.depositTime.getDay()+"\t"+b.surplus);}}Book.javapackage pany;import java.util.Scanner;import java.util.Vector;public class Library {public static final int OK=1;public static final int ERROR=1;Vector<Object> book= new Vector();//用来存储书类丹书类中也存有用户类private String Libraryname;Scanner sc=new Scanner(System.in);Library (String name){this.Libraryname=name;}public User UserComing() {int kind;User U;Scanner sc = new Scanner(System.in);System.out.println("如果你是老师请输入1,若是学生请输入2");while (true) {while(true){kind = sc.nextInt();if (kind == 1) {U = new Teacher();return U;} else if (kind == 2) {System.out.println("如果你是本科生请输入1,若是硕士研究生请输入2");while (true){kind=sc.nextInt();if(kind==1){U = new Undergraduate();return U;}else if(kind==2){U=new Master();return U;}else{System.out.println("输入错误");break;}}} else {System.out.println("输入错误");System.out.println("请重新输入:");break;}}}}public void addBook(Book b){book.add(b);}public void addBook(){int i;i=1;Book b;while(i==1){b=new Book();this.addBook(b);System.out.println("如果要继续输入书本信息就输入1,否则就输入2");i=sc.nextInt();}}public Book SearchBook(){String BookName;Book b;System.out.println("请输入你要借查询的书");BookName=sc.next();for(int i=0;i<this.book.size();i++){b=(Book)this.book.elementAt(i);if(b.bookName.equals(BookName)){return b;}}return null;}public void ReturnBook(User U){User u;Book b;b=this.SearchBook();for(int i=0;i<b.BookUser.size();i++){u=(User) b.BookUser.elementAt(i);if(u==U){U.numBookBor--;b.BookUser.remove(i);b.surplus++;System.out.println("还书成功");return;}else {System.out.println("您不是这本书的借阅者,不能还书");return;}}System.out.println("找不到你要的书");}public void DeleteBook(){String BookName;Book b;System.out.println("请输入你要删除的书");BookName=sc.next();for(int i=0;i<this.book.size();i++){b=(Book)this.book.elementAt(i);if(b.bookName.equals(BookName)){if(b.BookUser.size()==0){this.book.remove(i);System.out.println("已经成功的删除书籍");}else {System.out.println("还有人尚未还书,不能够删除书籍");}}}}public void ShowBook(){Book b;for(int i=0;i<this.book.size();i++){b=(Book)book.elementAt(i);System.out.println((i+1)+"\t"+b.bookName+"\t"+b.auther+"\t" +b.bookNum+"\t"+b.depositTime.getYear()+"\t"+b.depositTime. getMonth()+"\t"+b.depositTime.getDay()+"\t"+b.surplus);}}public void ShowBook(Book b){System.out.println("\t"+b.bookName+"\t"+b.auther+"\t"+b.boo kNum+"\t"+b.depositTime.getYear()+"\t"+b.depositTime.getMon th()+"\t"+b.depositTime.getDay()+"\t"+b.surplus);}}User.javapackage pany;import java.util.Date;import java.util.Scanner;class User{public String name;public int numBookBor;//借书的数量//public Date borrowTime;public String Id;public Scanner sc=new Scanner(System.in); User(){}}class Students extends User{}//想想其实也不过如此class Undergraduate extends Students{Undergraduate(String sName,String id){=sName;this.Id=id;}Undergraduate(){System.out.println("请输入你的姓名:");=sc.next();System.out.println("请输入你的学号:");this.Id=sc.next();this.numBookBor=0;}}class Master extends Students{Master(String sName,String id){=sName;this.Id=id;}Master(){System.out.println("请输入你的姓名:");=sc.next();System.out.println("请输入你的学号:");this.Id=sc.next();this.numBookBor=0;}}class Teacher extends User{Teacher(String tName,String id){=tName;this.Id=id;}Teacher(){System.out.println("请输入你的姓名:");=sc.next();System.out.println("请输入你的工号:");this.Id=sc.next();this.numBookBor=0;}}Administrators/javapackage pany;import java.util.Scanner;public class Administrators {; private String passWod;Scanner sc=new Scanner(System.in);Administrators(){this.passWod="neu123";}public int getPassWord(){String passWord;for(int i=0;i<3;i++){System.out.println("请输入密码:");System.out.print("<<");passWord=sc.next();if( passWord.equals(this.passWod)){return 1;}else {System.out.println("密码错误,您还有"+(2-i)+"机会");}}return 0;}public void changePassWord(){String passWord;for(int i=0;i<3;i++){System.out.println("请输入原密码:\n<<");passWord=sc.next();if( passWord.equals(this.passWod)){System.out.println("请输入新密码:\n<<");this.passWod=sc.next();break;}else {System.out.println("密码错误,您还有"+(2-i)+"机会");}}}}。
图书借阅管理系统java代码
以我给的标题写原创文档,最低1200字,要求以Markdown文本格式输出,不要带图片和AI、人工智能、Markdown、GPT等关键词,标题为:图书借阅管理系统java代码# 图书借阅管理系统Java代码## 一、介绍图书借阅管理系统是一个帮助图书馆管理图书借阅情况的系统。
本系统基于Java开发,采用面向对象的编程方式,实现了对图书信息、借阅记录等数据的管理与处理。
用户可以通过该系统查询图书信息、借阅图书、归还图书,并实现了管理员对系统的管理功能。
## 二、功能模块### 1. 图书管理模块- 实现对图书信息的添加、删除、修改和查询功能。
- 对图书的分类管理,方便用户按照分类查找图书信息。
### 2. 用户管理模块- 用户注册与登录功能,保证用户数据的安全。
- 用户查询借阅情况、借阅历史等个人信息。
### 3. 借阅管理模块- 实现图书的借阅功能,包括借书日期、归还日期等信息的记录。
- 用户借阅超时提醒,确保图书及时归还。
### 4. 管理员模块- 管理员登录后可以对图书信息、用户信息进行管理。
- 实现图书归还、逾期处理等功能。
## 三、系统架构本系统采用MVC(Model-View-Controller)架构,实现了模型层、视图层、控制层之间的分离,提高了系统的灵活性和可维护性。
具体架构如下:1. Model层:负责处理数据的逻辑操作,包括对图书信息、用户信息、借阅记录等数据的管理。
2. View层:负责系统的界面展示,包括用户界面和管理员界面。
3. Controller层:负责处理用户请求,调用Model层的方法,并将结果返回给View层进行展示。
## 四、代码示例以下是借阅图书的Java代码示例:```javapublic class BorrowBook {private Book book;private User user;private Date borrowDate;private Date returnDate;// Constructorpublic BorrowBook(Book book, User user, Date borrowDate, Date returnDate) {this.book = book;er = user;this.borrowDate = borrowDate;this.returnDate = returnDate;}// Getters and setters}```以上代码实现了一个借阅图书的类`BorrowBook`,包含了借阅的图书信息、用户信息,借阅时间和归还时间。
Java+MySQL实现图书管理系统(完整代码)
Java+MySQL实现图书管理系统(完整代码)(完整代码+实训报告):觉着有⽤就点个赞哦~⼀,功能1. 管理员登录2. 图书借阅信息管理3. 图书信息管理4. 管理员更改密码5. 退出系统⼆,⼯具Eclipse Version: 2018-09 (4.9.0)MySQL Workbench 8.0 CEmysql-connector-java-8.0.13.jar三、效果图:登录界⾯:主界⾯:借阅书籍管理:个⼈书库管理:更改密码:四、数据库设计1)图书表2)⽤户表两个数据表间没有关联:五、JAVA层次分析(1)逻辑图(2)包结构,采⽤MVC三层架构组织各个模块六、主要Java代码分析Dao类(以BookDao为例)package pers.cyz.dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import java.util.List;import pers.cyz.model.Book;import pers.cyz.util.DBUtil;/*** 数据库图书表信息数据访问对象类,包含增加图书信息、删除图书信息* 、更新图书信息、查询图书信息、查询借阅信息和归还图书** @author 1651200111 陈彦志*/public class BookDao {/*** 增加图书信息*/public void addBook(Book book) throws Exception{// ⾸先拿到数据库的连接Connection con = DBUtil.getConnection();String sql="insert into tb_books"// ISBN、书名、图书价格、图书作者、出版社+ "(ISBN, book_name, book_price, book_author, published_house,"// 分类号、借书⼈姓名、借书⼈电话、借书⽇期,已借天数+ "book_category, borrower_name, borrower_phone) "+ "values("/** 参数⽤?表⽰,相当于占位符,然后在对参数进⾏赋值。
java书店管理系统源代码
Java 源代码publicclass loaduser {public String user;public String password;boolean b1;loaduser(String s1,String s2){user=s1;password=s2;}void load(){System.out。
println(" 书店管理销售系统");System.out.println(”**************************************");System。
out。
println(” 1、登录系统”);System.out.println(” 2、退出系统”);System。
out.println("**************************************”);System。
out.println("请选择:”);int m;Scanner s=new Scanner(System。
in);m=s。
nextInt();if(m==1){for(int i=0;i〈3;i++){System.out。
println("请输入账户名和密码”);String s3,s4;Scanner ss=new Scanner(System。
in);s3=s。
next();s4=s。
next();if(user。
equals(s3)&&password.equals(s4)) b1=true;else b1=false;if(i==0&&b1==false)System。
out.println("用户名或密码输入错误一次,还有两次机会!”);if(i==1&&b1==false)System。
out。
println(”用户名或密码输入错误两次,还有一次机会!");if(i==2&&b1==false){System.out.println(”三次输入错误,退出系统!”);System。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录第1章本设计所要达到的目的和要求1.1 设计目的1.2 设计要求第2章设计内容第3 章开发和运行环境介绍第4章需求分析1、本设计所要达到的目的和要求1.1 设计目的管理信息系统(MIS)的应用已深入到社会的各行各业,它是信息、软件与科学管理相结合的产物。
MIS的开发过程不仅是一个编写应用程序的过程,而且是一个以软件工程的思想为指导,从可行性研究开始,经过系统分析、系统设计、系统实施到等主要阶段的规范开发过程。
本题目实现的是JAVA系统,我们选择的是图书馆管理系统,不同角色的用户登录,用户信息的管理包括密码管理,及用户借还书,用户对图书信息及本人借还情况的查询,超级管理员对图书信息的增删查改,用户信息的增删查改及借还情况总的查询。
1.2 设计要求1、主题明确,软体开发要有创新性,能体现SQL的存储过程、触发器、游标技术等;2、用高级语言结合SQL Server数据库进行开发;3、写出数据库关系模式及相应的数据库表关系图;4、绘制成绩MIS相应的系统流程图、E-R图等;5、完成成绩MIS登陆界面、主界面、图书信息录入、图书信息查询和其各项设计与操作。
2、设计内容我们设计的图书馆管理系统主要用于对图书馆日常工作的管理,主要任务是用计算机对读者、图书等各种信息进行日常管理,如查询、修改、增加、删除、图书借阅和归还的管理等。
本系统实现了图书馆的信息化管理,完成了图书馆管理系统的基本功能。
该系统主要包括读者用户登录系统、管理员用户登入系统、图书管理系统、图书借阅、图书和用户信息查询子系统四个部分,各部分主要功能如下:读者用户登录子系统:用于数据库的连接,主界面的设计和读者身份用户的登录管理。
管理员用户登入系统:用于管理员用户的管理,如图书添加、图书信息修改。
图书管理系统:用于图书信息的管理,如新书入库、图书信息修改、图书信息删除。
图书借阅系统:用于用户借阅和归还图书。
图书和用户信息查询:图书和用户信息的查询。
留言系统:用于留言管理。
3、开发和运行环境介绍开发语言:前台开发语言为java,后台数据库为SQL server2000运行环境:eclipseEclipse是著名的跨平台的自有(IDE)。
最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。
Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。
许多软件开发商以Eclipse为框架开发自己的IDE。
4、需求分析4.1系统需求描述实现管理员对用户的增删改查,对图书信息增删查改、图书借阅信息的修改以,实现用户对图书的查找、借阅、续借、归还以及修改密码。
4.2系统功能结构图图 1 图书管理系统系统流程图4.3 系统E-R图图 2 用户实体图图3 书籍实体图图 4 实体属性图4.5数据库表结构表1 图书信息表表2 用户借阅表表3用户信息表5.系统设计与实现5.1 模块功能描述○1.在整个图书管理系统中读者用户登录系统的设计,主要包括如下功能:连接远程数据库:首先建立连接,然后配置数据源。
整个界面的设计:主框架,点击按钮分别触发事件。
用户登录:管理员,图书馆工作人员,普通用户分别实现进入自己的界面。
○2.在整个图书管理系统中管理员用户管理子系统的设计,主要包括如下功能:用户添加:用于添加用户信息。
用户信息修改:管理员可以修改用户所有信息,用户可以修改自己的密码。
用户删除:用于删除用户信息。
包括按用户id和密码删除。
○3.在整个图书馆管理系统中图书管理子系统的设计,主要包括如下功能:图书添加:用于添加图书信息。
图书信息修改:管理员可以修改图书所有信息。
图书删除:用于删除图书信息。
包括按图书id删除。
○4.在整个图书馆管理系统中图书借阅管理子系统的设计,主要包括如下功能:借阅图书:用户借书。
续借:通过改变归还日期来续借。
借阅信息显示:管理员和工作人员可以查看所有用户借阅信息,普通用户只可以查看自己的借阅信息。
5.2 软件实现读者用户登录系统:package hehe;import java.awt.Frame;import java.awt.Menu;import java.awt.MenuBar;import java.awt.MenuItem;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;@SuppressWarnings("serial")public class 菜单1 extends Frame implements ActionListener{ //TextArea ta; //文本区MenuBar mb; //MenuBar 类封装绑定到框架的菜单栏的Menu mnLog,mnJy,mnFy,mnLy; //从菜单栏部署的下拉式菜单组件MenuItem mizhuce,milog,miExit,miyhzh,miyhxx; //菜单中的所有项必须属于类 MenuItem 或其子类之一MenuItemmifyshow,mifydelete,mifyinsert,mifymodify,milyshow,miyshow,mijyshow,mijy insert,mijymodify;public 菜单1(){super("图书管理系统"); //调用父类构造方法// ta = new TextArea("",20,20); //新建文本区,第一个参数是默认文本,第二个参数是行数,第三个是列数/** BorderLayout边框布局* 添加文本区到Frame,BorderLayout.CENTER是居中位置* */// add(ta,BorderLayout.CENTER);mb = new MenuBar(); //创建菜单栏对象/** 创建菜单,指定菜单名* */mnLog= new Menu("退出");mnFy= new Menu("读者信息管理");mnJy= new Menu("借阅管理");mnLy= new Menu("意见簿留言");/* jLabel=new JLabel("欢迎进入设备管理系统");jLabel.setHorizontalAlignment(JLabel.CENTER);jLabel.setForeground(Color.red);*//** 创建子菜单,并指定名称* */miExit=new MenuItem("退出");miExit.addActionListener(this); //为退出菜单添加监听/** 添加上面创建的子菜单到文件菜单下* */mnLog.add(miExit);//将一个分隔线或连字符添加到菜单的当前位置/** 添加miBinary、miFont两个子菜单到mnFormat(格式)下* */mifyshow=new MenuItem("查看");mifyshow.addActionListener(this);mnFy.add(mifyshow);milyshow=new MenuItem("留言");mnLy.add(milyshow);milyshow.addActionListener(this);miyshow=new MenuItem("查看");mnLy.add(miyshow);miyshow.addActionListener(this);mijyinsert=new MenuItem("借书");mijyinsert.addActionListener(this);mnJy.add(mijyinsert);/** 将文件、编辑、格式、帮助添加到菜单栏* */mb.add(mnLog);mb.add(mnJy);mb.add(mnFy);mb.add(mnLy);setMenuBar(mb); //添加菜单栏到Frame/** 关闭窗口时,关闭运行成语* */addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});}public static void main(String args[]){菜单1 tm=new 菜单1();tm.setSize(700,500); //设置窗体的宽、高tm.setLocation(300,100); //将组件移到新位置Component类方法tm.setVisible(true); //设置显示窗体,true为显示,false为隐藏}/*** 监听事件,实现ActionListener接口的actionPerformed方法*/public void actionPerformed(ActionEvent e){if(e.getSource()==miExit){System.exit(0); //停止运行程序}if(e.getSource()==mifyshow){读者信息查询 wo= new 读者信息查询("查看");this.setVisible(true);}if(e.getSource()==mijyinsert){读者借阅信息插入 wo= new 读者借阅信息插入("借书");this.setVisible(true);}if(e.getSource()==milyshow){意见留言 wo= new 意见留言("留言");this.setVisible(true);}if(e.getSource()==miyshow){留言查看 wo= new 留言查看("查看");this.setVisible(true);}}}管理员用户登录:package hehe;import java.awt.Frame;import java.awt.Menu;import java.awt.MenuBar;import java.awt.MenuItem;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;@SuppressWarnings("serial")public class 菜单1 extends Frame implements ActionListener{//TextArea ta; //文本区MenuBar mb; //MenuBar 类封装绑定到框架的菜单栏的Menu mnLog,mnJy,mnFy,mnLy; //从菜单栏部署的下拉式菜单组件MenuItem mizhuce,milog,miExit,miyhzh,miyhxx; //菜单中的所有项必须属于类 MenuItem 或其子类之一MenuItemmifyshow,mifydelete,mifyinsert,mifymodify,milyshow,miyshow,mijyshow,mijyinsert,mijymod ify;public 菜单1(){super("图书管理系统"); //调用父类构造方法// ta = new TextArea("",20,20); //新建文本区,第一个参数是默认文本,第二个参数是行数,第三个是列数/** BorderLayout边框布局* 添加文本区到Frame,BorderLayout.CENTER是居中位置* */// add(ta,BorderLayout.CENTER);mb = new MenuBar(); //创建菜单栏对象/** 创建菜单,指定菜单名* */mnLog= new Menu("退出");mnFy= new Menu("读者信息管理");mnJy= new Menu("借阅管理");mnLy= new Menu("意见簿留言");/* jLabel=new JLabel("欢迎进入设备管理系统");jLabel.setHorizontalAlignment(JLabel.CENTER);jLabel.setForeground(Color.red);*//** 创建子菜单,并指定名称* */miExit=new MenuItem("退出");miExit.addActionListener(this); //为退出菜单添加监听/** 添加上面创建的子菜单到文件菜单下* */mnLog.add(miExit);//将一个分隔线或连字符添加到菜单的当前位置/** 添加miBinary、miFont两个子菜单到mnFormat(格式)下* */mifyshow=new MenuItem("查看");mifyshow.addActionListener(this);mnFy.add(mifyshow);milyshow=new MenuItem("留言");mnLy.add(milyshow);milyshow.addActionListener(this);miyshow=new MenuItem("查看");mnLy.add(miyshow);miyshow.addActionListener(this);mijyinsert=new MenuItem("借书");mijyinsert.addActionListener(this);mnJy.add(mijyinsert);/** 将文件、编辑、格式、帮助添加到菜单栏* */mb.add(mnLog);mb.add(mnJy);mb.add(mnFy);mb.add(mnLy);setMenuBar(mb); //添加菜单栏到Frame/** 关闭窗口时,关闭运行成语* */addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});}public static void main(String args[]){菜单1 tm=new 菜单1();tm.setSize(700,500); //设置窗体的宽、高tm.setLocation(300,100); //将组件移到新位置Component类方法tm.setVisible(true); //设置显示窗体,true为显示,false为隐藏}/*** 监听事件,实现ActionListener接口的actionPerformed方法*/public void actionPerformed(ActionEvent e){if(e.getSource()==miExit){System.exit(0); //停止运行程序}if(e.getSource()==mifyshow){读者信息查询 wo= new 读者信息查询("查看");this.setVisible(true);}if(e.getSource()==mijyinsert){读者借阅信息插入 wo= new 读者借阅信息插入("借书");this.setVisible(true);}if(e.getSource()==milyshow){意见留言 wo= new 意见留言("留言");this.setVisible(true);}if(e.getSource()==miyshow){留言查看 wo= new 留言查看("查看");this.setVisible(true);}}}登入界面系统:package hehe;import java.awt.Color;import java.awt.Container;import java.awt.Dimension;import java.awt.Font;import java.awt.Toolkit;import java.awt.Image;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.swing.ButtonGroup;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPasswordField;import javax.swing.JRadioButton;import javax.swing.JTextField;public class 登陆界面 implements ActionListener{public JFrame jf= new JFrame("图书管理系统系统");public Container con = jf.getContentPane();public Toolkit toolkit = Toolkit.getDefaultToolkit(); //获取工具包public Dimension sc = toolkit.getScreenSize(); //getScreenSize(),最后的这个方法返回一个Dimension类型的对象.是返回当先分辨率的.Object a,b;public JRadioButton rb1 = new JRadioButton("读者");public JRadioButton rb2 = new JRadioButton("管理员");public ButtonGroup group = new ButtonGroup ();public JLabel yong_hu = new JLabel("用户名");public JLabel mi_ma = new JLabel("密码");public JTextField textName = new JTextField();public JPasswordField textPs = new JPasswordField();public JButton deng_ru = new JButton("登陆");public JButton qu_xiao = new JButton("取消");public Font font1 = new Font("宋体",1,14);public Font font2 = new Font("宋体",0,12);public 登陆界面() {//con.setLayout(null);//jf.setSize(sc.width/1,sc.height/2); //大小/*jf.setLocation(sc.width/5,sc.height/1010); */ /* public void setLocation(int x,int y)将组件移到新位置。