51CTO下载-Java - 项目开发实例 - 图书信息管理系统开发文档及源码
更新时间:2023-10-24 04:11:01 阅读量: 综合文库 文档下载
Java 开发实例 源码——图书信息管理系统
图书信息管理系统
一、 系统功能概述:
根据图书信息管理系统的特点,可以将本系统分为2大功能模块,分别
为:基础数据维护、系统数据维护。本系统各个部分及其包括的具体功能模块如下图所示:
二、 数据库设计: 图书信息表: 字段名 ISBN typeId Bookname Writer Translater Publisher Date Price 1
说明 国际标准书号 图书类型id 书名 作者 译者 出版社 出版日期 价格 类型 Varchar(13) Int Varchar(40) Varchar(21) Varchar(30) Varchar(50) Smalldatetime money 长度及备注 主键 可以为空 Java 开发实例 源码——图书信息管理系统
图书类别表: 字段名 TypeName Id
用户信息表: 字段名 Id Name Sex Age Identitycard Workdate Tel Yajin Password admin 读者信息表: 字段名 Name Sex Age identityCard Date manNum Tel keepMoney Zj Zy ISBN bztime 说明 姓名 性别 年龄 证件号码 日期 最大书量 电话号码 押金 证件类型 职业 国际标准书号 办证时间 类型 Varchar(10) Varchar(2) int Varchar(30) Smalldatetime Int Varchar(15) Miney Int Varchar(50) Varchar(13) datetime 长度及备注 说明 自动编号 姓名 性别 年龄 证件号码 办证日期 电话号码 押金 密码 管理员 类型 Int Varchar(2) Varchar(2) int Varchar(2) datetime Varchar(2) Int Nvarchar(10) Nchar(10) 长度及备注 主键 说明 图书类型 自动编号 类型 Varchar(20) Int 长度及备注 主键 三、 系统源代码: 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;
2
Java 开发实例 源码——图书信息管理系统
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 com.zhang.model.User;
public class Dao {
protected static String dbClassName =
protected static String dbUrl = \
+ \; protected static String dbUser = \; protected static String dbPwd = \; 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(\数据库连接成功!\); } else return; } catch (Exception ee) { ee.printStackTrace(); //执行查询 private static ResultSet executeQuery(String sql) {
try {
if(conn==null) new Dao(); return
conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE).executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace(); return null;
3
Java 开发实例 源码——图书信息管理系统
}
} finally { }
//执行更新 private static int executeUpdate(String sql) {
try {
if(conn==null)
new Dao();
return conn.createStatement().executeUpdate(sql); System.out.println(e.getMessage());
//if(e.getMessage().equals(\
} catch (SQLException e) {
Driver for JDBC][SQLServer]DELETE 语句与 COLUMN REFERENCE 约束
'FK_TB_BORRO_REFERENCE_TB_BOOKI' 冲突。该冲突发生于数据库 'db_library',表 'tb_borrow', column 'bookISBN'。\ return -1;
}
//关闭数据库
public static void close() { /*
* 管理员登录方法 */
public static Operator check(String name, String password) {
int i = 0;
Operator operater=new Operator();
String sql = \ + name
+ \ + password + \;
ResultSet rs = Dao.executeQuery(sql); try {
while (rs.next()) {
String names = rs.getString(1); operater.setId(rs.getString(\)); operater.setName(rs.getString(\));
4
} finally { }
try { }
conn.close(); e.printStackTrace(); conn = null;
} catch (SQLException e) { }finally{ }
Java 开发实例 源码——图书信息管理系统
} /*
}
}
operater.setGrade(rs.getString(\)); operater.setPassword(rs.getString(\)); if (names != null) { }
i = 1;
} catch (Exception e) {
e.printStackTrace();
Dao.close(); return operater;
* 查询类别方法 */
//查询图书目录 public static List selectBookCategory() {
} public static List selectBookCategory(String bookType) {
List list=new ArrayList(); String sql = \ResultSet rs = Dao.executeQuery(sql); try {
while (rs.next()) {
BookType type=new BookType(); type.setDays(rs.getString(\)); list.add(type);
5
List list=new ArrayList();
String sql = \; ResultSet rs = Dao.executeQuery(sql); try { } Dao.close(); return list; while (rs.next()) { } e.printStackTrace(); BookType bookType=new BookType(); bookType.setId(rs.getString(\));
bookType.setTypeName(rs.getString(\)); list.add(bookType); } catch (Exception e) { typeName='\+bookType+\;
Java 开发实例 源码——图书信息管理系统
} /*
}
}
e.printStackTrace();
} catch (Exception e) {
Dao.close(); return list;
* 图书类别表相关操作 * */
//插入图书类型 public static int InsertBookType(String bookTypeName){
}
int i=0; try{ }
return i;
String sql=\i=Dao.executeUpdate(sql); e.printStackTrace();
values('\+bookTypeName+\;
}catch(Exception e){
//更新图书类别 public static int UpdatebookType(String id,String typeName){ }
int i=0; try{ } Dao.close(); return i;
String sql=\+typeName+\//System.out.println(sql); i=Dao.executeUpdate(sql); e.printStackTrace(); where id='\+id+\;
}catch(Exception e){
//删除图书类别 public static int DelbookType(String id){
int i=0; try{
String sql=\+id+\; //System.out.println(sql);
6
Java 开发实例 源码——图书信息管理系统
} /*
}
i=Dao.executeUpdate(sql); e.printStackTrace();
}catch(Exception e){
Dao.close(); return i;
* 图书信息表相关操作 */ /*
* 插入图书信息方法 */
//插入图书信息 public static int Insertbook(String ISBN,String typeId,String bookname,String writer,String translator,String publisher,Date date,Double price){
int i=0; try{
String sql=\
tb_bookInfo(ISBN,typeId,bookname,writer,translator,publisher,date,price)
values('\+ISBN+\+typeId+\+bookname+\+writer+\+translator+\+publisher+\+date+\+price+\;
} /* * 查询图书相关信息 * */ public static List selectBookInfo() {
List list=new ArrayList(); String sql = \; ResultSet rs = Dao.executeQuery(sql); try {
while (rs.next()) {
BookInfo bookinfo=new BookInfo(); bookinfo.setISBN(rs.getString(\));
7
} //System.out.println(sql); i=Dao.executeUpdate(sql); System.out.println(e.getMessage()); }catch(Exception e){ Dao.close(); return i; Java 开发实例 源码——图书信息管理系统
}
}
}
bookinfo.setTypeid(rs.getString(\)); bookinfo.setBookname(rs.getString(\)); bookinfo.setWriter(rs.getString(\));
bookinfo.setTranslator(rs.getString(\)); bookinfo.setPublisher(rs.getString(\)); bookinfo.setDate(rs.getDate(\)); bookinfo.setPrice(rs.getDouble(\)); list.add(bookinfo);
} catch (Exception e) {
e.printStackTrace();
Dao.close(); return list;
public static List selectBookInfo(String ISBN) { } /*
* 修改图书信息方法 */
List list=new ArrayList();
String sql = \* from tb_bookInfo where ISBN='\+ISBN+\; ResultSet rs = Dao.executeQuery(sql); try { } Dao.close(); return list;
while (rs.next()) { } e.printStackTrace(); BookInfo bookinfo=new BookInfo(); bookinfo.setISBN(rs.getString(\)); bookinfo.setTypeid(rs.getString(\)); bookinfo.setBookname(rs.getString(\)); bookinfo.setWriter(rs.getString(\));
bookinfo.setTranslator(rs.getString(\)); bookinfo.setPublisher(rs.getString(\)); bookinfo.setDate(rs.getDate(\)); bookinfo.setPrice(rs.getDouble(\)); list.add(bookinfo); } catch (Exception e) {
//更新图书信息 public static int Updatebook(String ISBN,String typeId,String bookname,String writer,String translator,String publisher,Date
8
Java 开发实例 源码——图书信息管理系统
date,Double price){
int i=0; try{
String sql=\
ISBN='\+ISBN+\+typeId+\+bookname+\+writer+\+translator+\+publisher+\='\+date+\+price+\+ISBN+\;
}
}
Dao.close(); return i;
//System.out.println(sql); i=Dao.executeUpdate(sql); e.printStackTrace();
}catch(Exception e){
// /*
// * 删除图书信息方法 // */
public static int Delbook(String ISBN){ } /*
* 对读者信息表执行的相关操作 */
int i=0; try{ }
Dao.close(); return i; String sql=\+ISBN+\; //System.out.println(sql); i=Dao.executeUpdate(sql); e.printStackTrace();
}catch(Exception e){ //增加读者信息 public static int InsertReader(String name,String sex,String age,String identityCard,Date date,String maxNum,String tel,Double keepMoney,String zj,String zy,Date bztime,String ISBN){
int i=0; try{
String sql=\
tb_reader(name,sex,age,identityCard,date,maxNum,tel,keepMoney,zj,zy,bztime,ISBN)
values('\+name+\+sex+\+age+\+identityCard+\+date+\\+maxNum+\+tel+\+keepMoney+\+zj+\+zy+\+bztime+\
9
Java 开发实例 源码——图书信息管理系统
+ISBN+\;
}
public static List selectReader() { } public static List selectReader(String readerISBN) {
List list=new ArrayList();
String sql = \ResultSet rs = Dao.executeQuery(sql); try {
while (rs.next()) {
10
}
System.out.println(sql); i=Dao.executeUpdate(sql); e.printStackTrace();
}catch(Exception e){
Dao.close(); return i;
List list=new ArrayList();
String sql = \; ResultSet rs = Dao.executeQuery(sql); try { } Dao.close(); return list;
while (rs.next()) { } e.printStackTrace(); Reader reader=new Reader();
//reader.setId(rs.getString(\ reader.setName(rs.getString(\)); reader.setSex(rs.getString(\)); reader.setAge(rs.getString(\));
reader.setIdentityCard(rs.getString(\)); reader.setDate(rs.getDate(\)); reader.setMaxNum(rs.getString(\)); reader.setTel(rs.getString(\));
reader.setKeepMoney(rs.getDouble(\)); reader.setZj(rs.getInt(\)); reader.setZy(rs.getString(\)); reader.setISBN(rs.getString(\)); reader.setBztime(rs.getDate(\)); list.add(reader); } catch (Exception e) { ISBN='\+readerISBN+\;
Java 开发实例 源码——图书信息管理系统
}
}
}
Reader reader=new Reader();
reader.setName(rs.getString(\)); reader.setSex(rs.getString(\)); reader.setAge(rs.getString(\));
reader.setIdentityCard(rs.getString(\)); reader.setDate(rs.getDate(\)); reader.setMaxNum(rs.getString(\)); reader.setTel(rs.getString(\));
reader.setKeepMoney(rs.getDouble(\)); reader.setZj(rs.getInt(\)); reader.setZy(rs.getString(\)); reader.setISBN(rs.getString(\)); reader.setBztime(rs.getDate(\)); list.add(reader);
} catch (Exception e) {
e.printStackTrace();
Dao.close(); return list;
//更新读者信息 public static int UpdateReader(String id,String name,String sex,String age,String identityCard,Date date,String maxNum,String tel,Double keepMoney,String zj,String zy,Date bztime,String ISBN){
int i=0; try{
String sql=\
name='\+name+\+sex+\+age+\+identityCard+\+date+\+maxNum+\+tel+\+keepMoney+\+zj+\+zy+\+bztime+\ISBN='\+ISBN+\;
}
}
Dao.close(); return i;
i=Dao.executeUpdate(sql); e.printStackTrace(); }catch(Exception e){
//删除读者信息 public static int DelReader(String ISBN){
int i=0; try{
String sql=\+ISBN+\;
11
Java 开发实例 源码——图书信息管理系统
}
}
//System.out.println(sql); i=Dao.executeUpdate(sql); e.printStackTrace();
}catch(Exception e){
Dao.close(); return i;
//new
public static List selectbookserch() { } //插入管理员
public static int Insertoperator(String name,String sex,int
List list=new ArrayList();
String sql = \; ResultSet s = Dao.executeQuery(sql); try { }
Dao.close(); return list; while (s.next()) { }
e.printStackTrace(); BookInfo bookinfo=new BookInfo(); bookinfo.setISBN(s.getString(1)); bookinfo.setTypeid(s.getString(2)); bookinfo.setBookname(s.getString(3)); bookinfo.setWriter(s.getString(4)); bookinfo.setTranslator(s.getString(5)); bookinfo.setPublisher(s.getString(6)); bookinfo.setDate(s.getDate(7)); bookinfo.setPrice(s.getDouble(8)); list.add(bookinfo); } catch (Exception e) { age,String identityCard,Date workdate,String tel,String password,int yajin){
int i=0; try{
String sql=\
tb_operator(name,sex,age,identityCard,workdate,tel,password,yajin) values('\+name+\+sex+\+age+\+identityCard+\+workdate+\,'\+tel+\+password+\+yajin+\;
System.out.println(sql);
12
Java 开发实例 源码——图书信息管理系统
}
i=Dao.executeUpdate(sql); e.printStackTrace();
}catch(Exception e){
Dao.close(); return i;
}
public static List selectuser() {
List list=new ArrayList();
String sql = \id,name,sex,age,yajin,workdate,tel,password ResultSet rs = Dao.executeQuery(sql); try { }
Dao.close(); return list; while (rs.next()) { }
e.printStackTrace(); User user=new User(); user.setId(rs.getInt(1)); user.setName(rs.getString(2)); user.setSex(rs.getString(3)); user.setAge(rs.getInt(4)); //user.setIdentityCard(rs.getString(5)); user.setYajin(rs.getInt(5)); user.setWorkdate(rs.getDate(6)); user.setTel(rs.getString(7)); user.setPassword(rs.getString(8)); list.add(user); from tb_operator where admin=0\;
} catch (Exception e) { }
//删除用户
public static int Deluser(int id){
int i=0; try{ }
Dao.close(); return i;
13
String sql=\+id+\; //System.out.println(sql); i=Dao.executeUpdate(sql); e.printStackTrace();
}catch(Exception e){
Java 开发实例 源码——图书信息管理系统
}
public static int Updateuser(int id,String name,String sex,int
int i=0; try{
String sql=\
age,String identityCard,Date workdate,String tel,String password){
name='\+name+\+sex+\+age+\+identityCard+\+workdate+\+tel+\+password+\where id='\+id+\; } }
public static int Updatepass(String password,String name){
int i=0; try{ }
Dao.close(); return i; String sql=\+password+\
i=Dao.executeUpdate(sql); e.printStackTrace(); }
Dao.close(); return i;
i=Dao.executeUpdate(sql); e.printStackTrace(); }catch(Exception e){
where name='\+name+\;
}catch(Exception e){ }
Com.zhang.iframe: //窗体包
14
Java 开发实例 源码——图书信息管理系统
BookAddIFrame.java //图书信息添加
package com.zhang.iframe; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.GridLayout; import java.awt.SystemColor; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.FocusAdapter; import java.awt.event.FocusEvent; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.net.URL; import java.text.SimpleDateFormat; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.swing.DefaultComboBoxModel; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JComboBox;
import javax.swing.JFormattedTextField; import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField;
15
Java 开发实例 源码——图书信息管理系统
}
*/
private JMenuBar createMenu() { // 创建菜单栏的方法 JMenuBar menuBar = new JMenuBar(); }
JMenu baseMenu = new JMenu();// 初始化基础数据维护菜单 baseMenu.setIcon(CreateIcon.add(\)); { }
JMenu sysManageMenu = new JMenu(); // 系统维护
sysManageMenu.setIcon(CreateIcon.add(\)); JMenu userManageMItem = new JMenu(\用户管理\); // 用户管理 userManageMItem.add(MenuActions.USER_ADD); userManageMItem.add(MenuActions.USER_MODIFY); sysManageMenu.add(MenuActions.MODIFY_PASSWORD); sysManageMenu.add(userManageMItem); menuBar.add(baseMenu); // 添加基础数据维护菜单到菜单栏 menuBar.add(sysManageMenu); // 添加系统维护菜单到菜单栏 return menuBar;
JMenu readerManagerMItem = new JMenu(\读者信息管理\); readerManagerMItem.add(MenuActions.READER_ADD); readerManagerMItem.add(MenuActions.READER_MODIFY); JMenu bookTypeManageMItem = new JMenu(\图书类别管理\); bookTypeManageMItem.add(MenuActions.BOOKTYPE_ADD); bookTypeManageMItem.add(MenuActions.BOOKTYPE_MODIFY); JMenu menu = new JMenu(\图书信息管理\); menu.add(MenuActions.BOOK_ADD); menu.add(MenuActions.BOOK_MODIFY); baseMenu.add(readerManagerMItem); baseMenu.add(bookTypeManageMItem); baseMenu.add(menu); baseMenu.addSeparator(); baseMenu.add(MenuActions.EXIT);
ModifyPass.java //密码修改窗口 package com.zhang.iframe;
import java.awt.Color;
46
Java 开发实例 源码——图书信息管理系统
import java.awt.Font;
import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.Insets;
import java.awt.event.ActionEvent; import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPasswordField; import javax.swing.JTextField;
import com.zhang.dao.Dao;
import com.zhang.model.Operator; import com.zhang.util.MyDocument;
public class ModifyPass extends JInternalFrame{
private JLabel name;
private JPasswordField oldPass; private JPasswordField newPass2; private JPasswordField newPass1; private JLabel userName; private JTextField username; private Operator user = LoginIFrame.getUser();
public ModifyPass() {
super();
setIconifiable(true); setTitle(\更改密码\); setClosable(true);
getContentPane().setLayout(new GridBagLayout()); setBounds(100, 100, 300, 228); final JLabel label_4 = new JLabel();
label_4.setFont(new Font(\, Font.PLAIN, 14)); label_4.setForeground(Color.RED);
label_4.setText(\注:每个操作员只能修改自己的密码。