Java实现迷你图书管理系统案例全程

目录
  • 项目需求
  • 覆盖知识
  • 开发思路
  • 开发步骤
  • 全部代码展示
    • 1、Book类
    • 2、DBUtils类
    • 3、数据访问层的BookDao接口
    • 4、数据访问层的BookDaoImpl类
    • 5、服务层的BookService接口
    • 6、服务层的BookServiceImpl类
    • 7、视图层BookMgr测试类

项目需求

为某图书馆开发一个迷你图书管理系统,实现图书的管理,包括如下功能:

(1)新增图书

(2)查看图书

(3)删除图书

(4)借出图书

(5)归还图书

(6)退出图书系统

覆盖知识

程序基本概念、数据类型、流程控制、顺序、选择 、循环、跳转语句、变量、类、方法、数据库、JDBC等相关知识

掌握数据库、JDBC、三层架构等相关知识。

掌握Druid连接池、Apache的DBUtils使用 。

开发思路

(1)明确需求

(2)编码顺序

1)、添加需要的jar包到项目中,将lib文件夹中的jar文件通过鼠标右单击选择Build Path的方式添加到你设置的eatJar文件目录里。

2)、创建database.properties文件,用来配置注册驱动和数据库连接对象的相关数据。

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/java221804
username=root
password=huanghuang
initialSize=10
maxActive=30
maxIdle=5
maxWait=3000

3)、添加需要的工具类DBUtils类

package cn.book.utils;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import javax.sql.DataSource;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.pool.DruidDataSourceFactory;
public class DBUtils {
	private static DruidDataSource druidDataSource;
	static {
		Properties properties = new Properties();
		try {
			InputStream is = DBUtils.class
					.getResourceAsStream("/database.properties");
			properties.load(is);
			druidDataSource = (DruidDataSource) DruidDataSourceFactory
					.createDataSource(properties);
		} catch (IOException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	public static DataSource getDataSource(){
		return druidDataSource;
	}
}

4)、创建数据表:book表

CREATE DATABASE IF NOT EXISTS `java221804`;
CREATE TABLE IF NOT EXISTS book(
	`name` VARCHAR(20),
	`state` INT,
	`date` INT,
	`count` INT
);

5)、编写book类,包含get/set方法、有参/无参构造、toString方法等

package cn.book.entity;
import java.io.Serializable;
@SuppressWarnings("serial")
public class Book implements Serializable {
	//定义属性
	private String name;
	private int state;
	private int date;
	private int count;
	//添加无参构造
	public Book() {
		super();
	}
	//添加有参构造
	public Book(String name, int state, int date, int count) {
		super();
		this.name = name;
		this.state = state;
		this.date = date;
		this.count = count;
	}
	//添加get/set方法
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getState() {
		return state;
	}
	public void setState(int state) {
		this.state = state;
	}
	public int getDate() {
		return date;
	}
	public void setDate(int date) {
		this.date = date;
	}
	public int getCount() {
		return count;
	}
	public void setCount(int count) {
		this.count = count;
	}
	@Override
	public String toString() {
		return "Book [name=" + name + ", state=" + state + ", date=" + date
				+ ", count=" + count + "]";
	}
}

6)、数据访问层DAO层的接口和实现类的增删改查方法的编写

7)、服务层Service层的接口和实现类的增删改查方法的编写

8)、最后完成视图层View层测试类的编写

开发步骤

1、数据初始化​

2、BookDaoImpl类中的部分重要方法

创建 QueryRunner 对象

private QueryRunner queryRunner = new QueryRunner(DBUtils.getDataSource());

增加图书的方法

	public int insert(Book book) {
		String sql = "insert into book(name,state,date,count) values(?,?,?,?);";
		Object[] args = { book.getName(), book.getState(), book.getDate(),
				book.getCount() };
		try {
			return queryRunner.update(sql, args);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return 0;
	}

更改图书信息的方法

	public int update(Book book) {
		String sql="update book set state=?,date=?,count=? where name=?; ";
		Object[] args={book.getState(),book.getDate(),book.getCount(),book.getName()};
		try {
			return queryRunner.update(sql, args);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return 0;
	}

查询全部图书的方法

	public List<Book> selectAll() {
		String sql = "SELECT * FROM book;";
		try {
			return queryRunner.query(sql, new BeanListHandler<Book>(Book.class) );
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return null;
	}

欢迎使用迷你图书管理器方法

新增图书方法

查看图书方法

删除图书方法

借出图书方法

归还图书方法

退出图书方法

欢迎首界面:

	public static void useBookSystem() {
		// 输出欢迎菜单
		System.out.println("欢迎使用迷你图书管理器");
		System.out.println("-------------------------");
		System.out.println("1.新增图书");
		System.out.println("2.查看图书");
		System.out.println("3.删除图书");
		System.out.println("4.借出图书");
		System.out.println("5.归还图书");
		System.out.println("6.退出图书");
		System.out.println("-------------------------");
	}

全部代码展示

1、Book类

package cn.book.entity;
import java.io.Serializable;
@SuppressWarnings("serial")
public class Book implements Serializable {
	//定义属性
	private String name;
	private int state;
	private int date;
	private int count;
	//添加无参构造
	public Book() {
		super();
	}
	//添加有参构造
	public Book(String name, int state, int date, int count) {
		super();
		this.name = name;
		this.state = state;
		this.date = date;
		this.count = count;
	}
	//添加get/set方法
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getState() {
		return state;
	}
	public void setState(int state) {
		this.state = state;
	}
	public int getDate() {
		return date;
	}
	public void setDate(int date) {
		this.date = date;
	}
	public int getCount() {
		return count;
	}
	public void setCount(int count) {
		this.count = count;
	}
	@Override
	public String toString() {
		return "Book [name=" + name + ", state=" + state + ", date=" + date
				+ ", count=" + count + "]";
	}
}

2、DBUtils类

(使用连接池DruidDataSource、Apache的知识)

package cn.book.utils;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import javax.sql.DataSource;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.pool.DruidDataSourceFactory;
public class DBUtils {
	private static DruidDataSource druidDataSource;
	static {
		Properties properties = new Properties();
		try {
			InputStream is = DBUtils.class
					.getResourceAsStream("/database.properties");
			properties.load(is);
			druidDataSource = (DruidDataSource) DruidDataSourceFactory
					.createDataSource(properties);
		} catch (IOException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	public static DataSource getDataSource(){
		return druidDataSource;
	}
}

3、数据访问层的BookDao接口

package cn.book.dao;
import java.util.List;
import cn.book.entity.Book;
public interface BookDao {
	// 增
	public int insert(Book book);
	// 删
	public int delete(String name);
	// 改
	public int update(Book book);
	// 查一个
	public Book select(String name);
	// 查全部
	public List<Book> selectAll();
}

4、数据访问层的BookDaoImpl类

package cn.book.dao.impl;
import java.sql.SQLException;
import java.util.List;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import cn.book.dao.BookDao;
import cn.book.entity.Book;
import cn.book.utils.DBUtils;
public class BookDaoImpl implements BookDao {
	private QueryRunner queryRunner = new QueryRunner(DBUtils.getDataSource());
	@Override
	public int insert(Book book) {
		String sql = "insert into book(name,state,date,count) values(?,?,?,?);";
		Object[] args = { book.getName(), book.getState(), book.getDate(),
				book.getCount() };
		try {
			return queryRunner.update(sql, args);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return 0;
	}
	@Override
	public int delete(String name) {
		String sql="delete from book where name=?;";
		try {
			return queryRunner.update(sql, name);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return 0;
	}
	@Override
	public int update(Book book) {
		String sql="update book set state=?,date=?,count=? where name=?; ";
		Object[] args={book.getState(),book.getDate(),book.getCount(),book.getName()};
		try {
			return queryRunner.update(sql, args);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return 0;
	}
	@Override
	public Book select(String name) {
		String sql = "select * from book where name=?;";
		try {
			return queryRunner.query(sql,new BeanHandler<Book>(Book.class), name);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return null;
	}
	@Override
	public List<Book> selectAll() {
		String sql = "SELECT * FROM book;";
		try {
			return queryRunner.query(sql, new BeanListHandler<Book>(Book.class) );
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return null;
	}
}

5、服务层的BookService接口

package cn.book.service;
import java.util.List;
import cn.book.entity.Book;
public interface BookService {
	// 增
	public int insertBook(Book book);
	// 删
	public int deleteBook(String name);
	// 改
	public int updateBook(Book book);
	// 查一个
	public Book selectBook(String name);
	// 查全部
	public List<Book> selectAllBooks();
}

6、服务层的BookServiceImpl类

package cn.book.service.impl;
import java.util.List;
import cn.book.dao.impl.BookDaoImpl;
import cn.book.entity.Book;
import cn.book.service.BookService;
public class BookServiceImpl implements BookService {
	BookDaoImpl bookDaoImpl = new BookDaoImpl();
	@Override
	public int insertBook(Book book) {
		if (bookDaoImpl.select(book.getName()) == null) {
			return bookDaoImpl.insert(book);
		}
		return 0;
	}
	@Override
	public int deleteBook(String name) {
		if (bookDaoImpl.select(name) != null) {
			return bookDaoImpl.delete(name);
		}
		return 0;
	}
	@Override
	public int updateBook(Book book) {
		if (bookDaoImpl.select(book.getName()) != null) {
			return bookDaoImpl.update(book);
		}
		return 0;
	}
	@Override
	public Book selectBook(String name) {
		bookDaoImpl.select(name);
		return null;
	}
	@Override
	public List<Book> selectAllBooks() {
		List<Book> listBooks = bookDaoImpl.selectAll();
		return listBooks;
	}
}

7、视图层BookMgr测试类

package cn.book.view;
import java.util.List;
import java.util.Scanner;
import cn.book.entity.Book;
import cn.book.service.impl.BookServiceImpl;
public class BookMgr {
	// 定义一个静态的Scanner
	static Scanner inputsc = new Scanner(System.in);
	// 是否退出系统,false代表退出系统
	static boolean flag = true;
	static int num = -1;
	static BookServiceImpl bookServiceImpl = new BookServiceImpl();
	// 欢迎使用迷你图书管理器方法
	public static void useBookSystem() {
		// 输出欢迎菜单
		System.out.println("欢迎使用迷你图书管理器");
		System.out.println("-------------------------");
		System.out.println("1.新增图书");
		System.out.println("2.查看图书");
		System.out.println("3.删除图书");
		System.out.println("4.借出图书");
		System.out.println("5.归还图书");
		System.out.println("6.退出图书");
		System.out.println("-------------------------");
	}
	// 新增图书方法
	public static void addBook() {
		System.out.println("-->新增图书\n");
		System.out.println("请输入图书名称:");
		String bookName = inputsc.next();
		Book book = new Book(bookName, 0, 0, 0);
		// 向数据库添加图书
		int num = bookServiceImpl.insertBook(book);
		System.out.println();
		if (num != 0) {
			System.out.println("新增《" + bookName + "》成功!");
		} else {
			System.out.println("新增《" + bookName + "》失败!");
		}
		System.out.println("*****************************************");
	}
	// 查看图书方法
	public static void lookBook() {
		System.out.println("-->查看图书\n");
		System.out.println("序号\t状态\t名称\t借出日期\t借出次数");
		// 获取数据库全部图书
		List<Book> books = bookServiceImpl.selectAllBooks();
		for (int i = 0; i < books.size(); i++) {
			String BookState = (books.get(i).getState() == 0) ? "可借阅" : "已借出";
			String dateStr = (books.get(i).getDate() == 0) ? "" : (books.get(i)
					.getDate() + "日");
			System.out.println((i + 1) + "\t" + BookState + "\t"
					+ books.get(i).getName() + "\t" + dateStr + "\t"
					+ books.get(i).getCount() + "次");
		}
		System.out.println("*****************************************");
	}
	// 删除图书方法
	public static void delBook() {
		System.out.println("-->删除图书\n");
		System.out.println("请输入要删除图书的名称:");
		String deleteBook = inputsc.next();
		// 从数据库中查找此图书
		Book delBook = bookServiceImpl.selectBook(deleteBook);
		boolean flag3 = false;
		// 删除的图书存在、状态处于可借阅状态
		if (delBook.getName() != null && deleteBook.equals(delBook.getName())
				&& delBook.getState() == 0) {
			flag3 = true;
			int num = bookServiceImpl.deleteBook(delBook.getName());
			if (num != 0) {
				System.out.println("图书删除成功!");
			} else {
				System.out.println("图书删除失败!");
			}
		} else if (delBook.getName() != null
				&& deleteBook.equals(delBook.getName())
				&& delBook.getState() == 1) {
			flag3 = true;
			System.out.println("该图书已被借出,目前无法删除!");
		}
		if (!flag3) {
			System.out.println("没有找到匹配信息!");
		}
		System.out.println("*****************************************");
	}
	// 借出图书方法
	public static void lendBook() {
		System.out.println("-->借出图书\n");
		System.out.print("请输入图书名称:");
		String want = inputsc.next(); // 要借出的图书名称
		// 从数据库中查找此图书
		Book wantBook = bookServiceImpl.selectBook(want);
		if (wantBook == null) {
			System.out.println("没有找到匹配信息!");
		} else {
			if (want.equals(wantBook.getName()) && wantBook.getState() == 0) { // 找到匹配可借
				wantBook.setState(1); // 将此图书置于借出状态
				System.out.print("请输入借出日期:");
				int inputscData = inputsc.nextInt();
				wantBook.setDate(inputscData);
				while (wantBook.getDate() < 1 || wantBook.getDate() > 31) { // 当输入借出的日期不满足1-31时
					System.out.println("必须输入大于等于1且小于等于31的数字,请重新输入:");
					inputscData = inputsc.nextInt();
					wantBook.setDate(inputscData);
				}
				wantBook.setCount(wantBook.getCount() + 1);
				// 更新书本最新信息
				int num = bookServiceImpl.updateBook(wantBook);
				if (num != 0) {
					System.out.println("借出《" + want + "》成功!");
				} else {
					System.out.println("借出《" + want + "》失败!");
				}
			} else if (want.equals(wantBook.getName())
					&& wantBook.getState() == 1) { // 找到匹配已被借出
				System.out.println("《" + want + "》已被借出!");
			}
		}
		System.out.println("*****************************************");
	}
	// 归还图书方法
	public static void returnBook() {
		System.out.println("-->归还图书\n");
		int charge = 0; // 租金
		System.out.print("请输入归还图书名称:");
		String back = inputsc.next();
		// 从数据库中查找此图书
		Book backBook = bookServiceImpl.selectBook(back);
		if (backBook == null) {
			System.out.println("没有找到匹配信息!");
		} else {
			if (back.equals(backBook.getName()) && backBook.getDate() == 1) {// 找到匹配
				backBook.setDate(0); // 将借阅状态修改为可借阅
				System.out.print("请输入归还日期:");
				int redate = inputsc.nextInt();
				while (redate < backBook.getDate() || redate > 31) { //
					// 归还日期不能小于借出日期,也不能大于31
					if (redate < backBook.getDate()) {
						System.out.println("归还日期不能小于借出日期,请重新输入:");
					} else {
						System.out.println("一个月只有31天,请重新输入:");
					}
					redate = inputsc.nextInt();
				}
				charge = redate - backBook.getDate();
				// 更新书本最新信息
				int num = bookServiceImpl.updateBook(backBook);
				if (num != 0) {
					System.out.println("\n归还《" + back + "》成功!");
					System.out.println("借出日期为:" + (backBook.getDate() + 1)
							+ "日");
					System.out.println("归还日期为:" + redate + "日");
					System.out.println("应付租金(元):" + charge);
					backBook.setDate(0);
				} else {
					System.out.println("借出《" + back + "》失败!");
				}
			} else if (back.equals(backBook.getName())
					&& backBook.getState() == 0) {// 找到匹配但没有借出
				System.out.println("该图书没有被借出!无法进行归还操作。");
			}
		}
		System.out.println("*****************************************");
	}
	// 操作
	public static void runTest() {
		// 循环操作
		do {
			// 定义一个BookMethod操作类,将操作方法定义在BookMethod类中,然后调用
			// 欢迎菜单方法
			BookMgr.useBookSystem();
			System.out.println("请选择:");
			int choose = inputsc.nextInt();
			switch (choose) {
			case 1:
				// 新增图书
				BookMgr.addBook();
				break;
			case 2:
				// 查看图书
				BookMgr.lookBook();
				break;
			case 3:
				// 删除图书
				BookMgr.delBook();
				break;
			case 4:
				// 借出图书
				BookMgr.lendBook();
				break;
			case 5:
				// 归还图书
				BookMgr.returnBook();
				break;
			case 6:
				// 退出图书
				flag = false;
				break;
			default:
				flag = false;
				break;
			}
			if (flag) {
				System.out.println("输入0返回:");
				num = inputsc.nextInt();
			} else {
				break;
			}
		} while (num == 0);
		System.out.println("谢谢使用!");
	}
	public static void main(String[] args) {
		BookMgr.runTest();
	}
}

到此这篇关于Java实现迷你图书管理系统案例全程的文章就介绍到这了,更多相关Java图书管理内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java实战之图书管理系统的实现

    目录 一.项目运行 二.效果图 三.核心代码 登录控制层 图书管理控制层 读者管理控制层 一.项目运行 环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持) 项目技术: HTML +Springboot+ SpringMVC + MyBatis + ThymeLeaf + JavaScript + JQuery + Ajax + maven等等. 二.效果图 三.核心代码 登录控制层

  • JavaSE实现图书管理系统的示例代码

    目录 前言 1. 项目需求 2. 实现思路 3. 代码实现 包的设计 book包 operations包 user包 4. 实现效果 前言 这篇博客是在学习了一部分Java基础语法之后的练习项目,通过这个小项目的练习,对Java中的类和对象,抽象类和接口,面向对象的继承.多态和封装.组合等进行熟悉理解:抽象出不同的对象,将对象进行合理的设计,完成对象之间的交互,面向对象进行编程. 1. 项目需求 图书管理系统,面向管理员和普通用户使用,对管理员的开放的功能有:添加图书,删除图书,查找图书,显示图

  • Java快速实现图书管理基本功能

    目录 前言 主函数 书的创建 对用户的操作 对书的操作 前言 今天的内容主要是利用前面所学的知识点:类,抽象类,封装,继承,多态,接口等进行的一个简单的代码练习. 主要要求: 1.用户登录 2.管理端 查找图书 新增图书 删减图书 显示图书列表 退出系统 3.用户端 查找图书 借阅图书 归还图书 退出系统 我们可以将以上内容分为对书的创建初始化,对用户的操作,对书的操作. 主函数 Main:(对所有流程进行整合) import book.BookList; import User.NormalU

  • Java实现图书管理系统的示例代码

    目录 一.功能介绍 二.Main包 三.User包 1. User 2. AdminUser 3. NormalUser 四.book包 1. Book 2. BookList 五.operations包 1. IOperation接口 2. AddOperation 3. BorrowOperation 4. DelOperation 5. DisplayOperation 6. ExitOperation 7. FindOperation 8. ReturnOperation 一.功能介绍

  • Java手写图书管理基本功能附代码

    目录 1.book包 2.user包 3.operate包 Java中的最主要的语法之前基本都介绍完毕,本篇将使用之前的内容来写一个简单的图书管理系统,中间会展示部分代码来讲解,源码地址在这项目: 个人练习的项目 - Gitee.com 首先还是来看看运行的效果 我们来分析一下: Java中是通过对象之间的交互来解决事情的,所以我们来看看有哪些对象 首先显而易见的两个对象:用户和书,所以创建两个包book和user 通过上图可以看到:不同用户之间有相同的操作,也有不同的操作,所以不妨将所有的操作

  • java实现简单图书管理系统

    本文实例为大家分享了java实现简单图书管理系统的具体代码,供大家参考,具体内容如下 JAVA练习的作业,题目如下: 设计一个图书管理系统类和用户类,要求具有以下功能: (1). 查询和修改图书信息.(2). 增加和删除图书信息.(3). 个人借阅信息查询.(4). 图书归还功能(5). 用户管理功能和退出程序功能(注:用户信息可以保存在内存即可) 上代码: User.java public class User {     String id;     String name;     int

  • Java实现迷你图书管理系统案例全程

    目录 项目需求 覆盖知识 开发思路 开发步骤 全部代码展示 1.Book类 2.DBUtils类 3.数据访问层的BookDao接口 4.数据访问层的BookDaoImpl类 5.服务层的BookService接口 6.服务层的BookServiceImpl类 7.视图层BookMgr测试类 ​ 项目需求 为某图书馆开发一个迷你图书管理系统,实现图书的管理,包括如下功能: (1)新增图书 (2)查看图书 (3)删除图书 (4)借出图书 (5)归还图书 (6)退出图书系统 覆盖知识 程序基本概念.

  • Java异常之图书管理系统

    本文实例为大家分享了Java异常之图书管理系统的具体代码,供大家参考,具体内容如下 模拟借书系统,任务要求: 感觉自己的写出来的代码不够简洁,参考了其他的案例写了一个,效果如下: 结构: 运行异常1: 运行异常2: 运行异常3: 正常运行: 1.名称查询 2.序号查询: Book.java: package com.tony; /* * 图书租赁系统 */ public class Book { public String bookName; public int bookId; public

  • Java+MySQL实现图书管理系统(完整代码)

    (完整代码+实训报告): 链接: https://pan.baidu.com/s/1E6BhEaHMa6Wch5yf6YAjOA 提取码: vnrx 觉着有用就点个赞哦~ 一,功能 管理员登录 图书借阅信息管理 图书信息管理 管理员更改密码 退出系统 二,工具 Eclipse Version: 2018-09 (4.9.0) MySQL Workbench 8.0 CE mysql-connector-java-8.0.13.jar 三.效果图: 登录界面: 主界面: 借阅书籍管理: 个人书库管

  • Java实战项目 图书管理系统

    目录 一.项目简述 二.项目运行 修改图书类型信息代码: 登录图书管理系统主页面代码: 一.项目简述 功能包括: 登录注册,办理借阅.借阅记录,预约借阅,借出未还, 借阅逾期,学生管理,图书管理,书库分类查询搜索. 二.项目运行 环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持) 项目技术: JSP +Spring + SpringMVC + MyBatis + html+ cs

  • Eclipse+Java+Swing实现图书管理系统(详细代码)

    目录 一.系统介绍 二.系统展示 1.注册 2.登录 5.管理员端-添加图书类别 6.管理员端-修改图书类别 7.管理员端-添加图书 8.管理员端-修改图书 9.管理员端-管理用户信息 10.管理员端-查询借阅信息 三.部分代码 AdminMainFrm.java BookAddFrm.java BookManagerFrm.java BookInfoFrm.java BookTypeAddFrm.java BookTypeManagerFrm.java BorrowDetailFrm.java

  • Eclipse+Java+Swing实现图书管理系统(详细代码)

    目录 一.系统介绍 二.系统展示 1.注册 2.登录 5.管理员端-添加图书类别 6.管理员端-修改图书类别 7.管理员端-添加图书 8.管理员端-修改图书 9.管理员端-管理用户信息 10.管理员端-查询借阅信息 三.部分代码 AdminMainFrm.java BookAddFrm.java BookManagerFrm.java BookInfoFrm.java BookTypeAddFrm.java BookTypeManagerFrm.java BorrowDetailFrm.java

  • 图书管理系统java版

    本文的目的就是通过图书管理系统掌握数据库编程技术,能正确连接数据库,能对数据库中信息进行查询.插入.删除.修改. 内容:在数据库中创建一张书目信息表,包括书名.作者.出版社.出版日期.书号.价格字段.设计一个GUI界面进行书目管理.在该界面上有四个选项卡,分别是查询.插入.删除.修改.点击查询选项卡,出现的界面上有书名.作者.出版社.书号四个文本框,一个按钮和一个只读文本区.文本框内容可以为空,输入相应的查询信息后(例如根据书名查询可以仅输入书名),点击界面上的"查询"按钮,可以在界面

  • 利用java和sqlserver建立简易图书管理系统的完整步骤

    目录 1.所需功能: 2.流程: 3.环境及其语言: 4.数据库建立 5.操作: 数据库连接:sql.T3.Test1.java 选择需要的操作:sql.T3.Test1.java 1.游览所有图书 2.查找书籍 3.建立新图书 4借出图书 5. 归还图书删除某一图书 6.删除某一图书 释放连接: sql.T1.JDBCUtil.java 总结 1.所需功能: 游览所有图书.查找书籍.建立新图书,借出和归还图书,删除某一图书 2.流程: 数据库连接 选择需要的操作 释放连接 3.环境及其语言:

随机推荐