小棒组合第三周项目总结

项目进展

这周我们着手于主窗体和数据库的编写与调试,并已经成功运行主窗体部分

项目数据库原理:

通过Dao.java来建立数据库连接池,此类是java与数据库连接的桥梁。

1.在成员变量中我们声明了数据库的引擎,数据库的连接,用户名,密码等等..

protected static String dbClassName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";

protected static String dbUrl = "jdbc:microsoft:sqlserver://localhost:1433;"

+ "DatabaseName=db_library;SelectMethod=Cursor";

protected static String dbUser = "sa";

protected static String dbPwd = "";

2.在构造方法中我们来调用DriverManager来得到数据库连接池对象

if (conn == null) {

Class.forName(dbClassName).newInstance();

conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd);

}

3.在此类当中我们管理员登录的方法check,需要两个参数,用户名和密码,还有查询图书类别的方法selectBookCategory,返回的是一个List对象

增加一个图书类别的方法InsertBookType

还有更新图书类别的方法UpdatebookType

根据图书类型来取出超过时间需要罚款的图书list:selectBookTypeFk

增加图书的方法 Insertbook(String ISBN,String typeId,String bookname,String writer,String translator,String publisher,Date date,Double price)

查询图书相关信息的方法selectBookInfo

更新图书信息的方法Updatebook(String ISBN,String typeId,String bookname,String writer,String translator,String publisher,Date date,Double price)

增加一个读者的方法 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)

查询所有读者selectReader

更新读者UpdateReader

删除读者DelReader

增加一条订单InsertBookOrder(String ISBN,Date date,String number,String operator,String checkAndAccept,Double zk)

查询图书订单selectBookOrder

更新已经选择的图书订单UpdateCheckBookOrder

增加一条借阅图书的记录InsertBookBorrow

查询借阅图书的记录selectBorrow

查询还书内容selectBookBack

对归还的图书局记录进行更新UpdateBookBack

搜索图书selectbookserch

根据书名模糊搜索图书selectbookmohu

根据作者模糊搜索图书selectbookmohuwriter

增加一个用户Insertoperator

查询用户列表selectuser

删除一个用户Deluser

更新一个用户Updateuser

更新用户密码Updatepass

主窗体部分代码描述:

Library.java中继承了java swing中的JFrame,在main方法中通过UIManager来设置当前的窗体;默认首先打开登录的窗体:

public static void main(String[] args) {

try {

UIManager.setLookAndFeel(UIManager

.getSystemLookAndFeelClassName());

new BookLoginIFrame();//登录窗口

} catch (Exception ex) {

ex.printStackTrace();

}

}

此主窗体是所有操作界面的框架,在框架上的工具栏中中有自己的返回按钮,增加用户按钮,关闭系统按钮等

private JToolBar createToolBar() { // 创建工具栏的方法

JToolBar toolBar = new JToolBar();

toolBar.setFloatable(false);

toolBar.setBorder(new BevelBorder(BevelBorder.RAISED));

JButton bookAddButton=new JButton(MenuActions.BOOK_ADD);

//ImageIcon icon=CreatecdIcon.add("bookAdd.bmp");//创建图标方法

ImageIcon icon=new ImageIcon(Library.class.getResource("/bookAddtb.jpg"));//添加菜单栏图标

bookAddButton.setIcon(icon);

bookAddButton.setHideActionText(true);

//bookAddButton.setToolTipText("fjdkjfk");//图片上提示字

toolBar.add(bookAddButton);

//toolBar.add(MenuActions.BOOK_MODIFY);

//在工具栏中添加图书修改与删除图标

JButton bookModiAndDelButton=new JButton(MenuActions.BOOK_MODIFY);

ImageIcon bookmodiicon=CreatecdIcon.add("bookModiAndDeltb.jpg");//创建图标方法

bookModiAndDelButton.setIcon(bookmodiicon);

bookModiAndDelButton.setHideActionText(true);

toolBar.add(bookModiAndDelButton);

JButton bookTypeAddButton=new JButton(MenuActions.BOOKTYPE_ADD);

ImageIcon bookTypeAddicon=CreatecdIcon.add("bookTypeAddtb.jpg");//创建图标方法

bookTypeAddButton.setIcon(bookTypeAddicon);

bookTypeAddButton.setHideActionText(true);

toolBar.add(bookTypeAddButton);

JButton bookBorrowButton=new JButton(MenuActions.BORROW);

ImageIcon bookBorrowicon=CreatecdIcon.add("bookBorrowtb.jpg");//创建图标方法

bookBorrowButton.setIcon(bookBorrowicon);

bookBorrowButton.setHideActionText(true);

toolBar.add(bookBorrowButton);

JButton bookOrderButton=new JButton(MenuActions.NEWBOOK_ORDER);

ImageIcon bookOrdericon=CreatecdIcon.add("bookOrdertb.jpg");//创建图标方法

bookOrderButton.setIcon(bookOrdericon);

bookOrderButton.setHideActionText(true);

toolBar.add(bookOrderButton);

JButton bookCheckButton=new JButton(MenuActions.NEWBOOK_CHECK_ACCEPT);

ImageIcon bookCheckicon=CreatecdIcon.add("newbookChecktb.jpg");//创建图标方法

bookCheckButton.setIcon(bookCheckicon);

bookCheckButton.setHideActionText(true);

toolBar.add(bookCheckButton);

JButton readerAddButton=new JButton(MenuActions.READER_ADD);

ImageIcon readerAddicon=CreatecdIcon.add("readerAddtb.jpg");//创建图标方法

readerAddButton.setIcon(readerAddicon);

readerAddButton.setHideActionText(true);

toolBar.add(readerAddButton);

JButton readerModiAndDelButton=new JButton(MenuActions.READER_MODIFY);

ImageIcon readerModiAndDelicon=CreatecdIcon.add("readerModiAndDeltb.jpg");//创建图标方法

readerModiAndDelButton.setIcon(readerModiAndDelicon);

readerModiAndDelButton.setHideActionText(true);

toolBar.add(readerModiAndDelButton);

JButton ExitButton=new JButton(MenuActions.EXIT);

ImageIcon Exiticon=CreatecdIcon.add("exittb.jpg");//创建图标方法

ExitButton.setIcon(Exiticon);

ExitButton.setHideActionText(true);

toolBar.add(ExitButton);

return toolBar;

}

/**

菜单栏中包括读者信息管理还有图书信息管理借阅管理系统维护这几个模块:

menuBar.add(baseMenu); // 添加基础数据维护菜单到菜单栏

menuBar.add(bookOrderMenu); // 添加新书订购管理菜单到菜单栏

menuBar.add(borrowManageMenu); // 添加借阅管理菜单到菜单栏

menuBar.add(sysManageMenu); // 添加系统维护菜单到菜单栏

以下部分为插入图片所使用的代码

public static ImageIcon add(String ImageName){

URL IconUrl = Library.class.getResource("5.jpg");

try {

} catch (Exception e) {

// TODO: handle exception

}

ImageIcon icon=new ImageIcon(IconUrl);

return icon;

}

运行截图(插入了电科院校园图片)

工程截图

成员贡献

20145316许心远:负责代码调试,博客更新,搜集相关资料与成员共享,完善主窗体部分ui定制

20145308刘昊阳:学习相关资料

20145329吉东云:学习相关资料

与计划相符情况

完成了主窗体和数据库部分代码的编写和调试,并成功运行出主窗体部分,项目进程正常推动

但数据库还未完全建立,导致目前无法成功运行数据库部分,也无法实现其功能,只能保证调用功能正常,但无法验证是否有漏洞

改进措施

将在项目后继过程中完善数据库的建立,将本部分功能尽快实现

代码托管截图

总结

在本周的任务中,我们完善了主窗体及数据库部分的应用,并将主窗体植入了相应的Besti元素,更加注重了用户的操作体验,虽然工程量浩大,但我们不会放弃,会以已取得的成果为基础,向目标继续迈进!

时间: 2024-08-26 04:28:06

小棒组合第三周项目总结的相关文章

第三周项目3-程序的多文件组织

利用多文件组织,重新实现项目2.其中,整个项目包括3个文件: 主文件: main.cpp,用于定义main()函数 头文件: triangle.h,头文件,声明类,定义内置成员函数 类定义文件: triangle.cpp,用于定义类Triangle中其他成员函数 注意,将3个set函数和3个get函数设计成内置成员函数,其他函数不作为内置函数. main.cpp /* * Copyright (c) 2015,烟台大学计算机学院 * All right reserved. * 作者:邵帅 * 文

第三周项目2-三角形类(二)

程序功能同项目1,main()函数如下,请重新定义Triangle类,其中逻辑特别简单的set和get成员函数,要处理为内置成员函数,直接在类内定义. /* * Copyright (c) 2015,烟台大学计算机学院 * All right reserved. * 作者:邵帅 * 文件:Demo.cpp * 完成时间:2015年03月21日 * 版本号:v1.0 */ #include<iostream> #include<cmath> using namespace std;

第三周项目三 三角形多文件处理

[项目3-用多文件组织多个类的程序] 将项目2用"一个项目多个文件"的方式实现,其中两个类的声明放在同一个.h文件中,每个类的成员函数分别放一个文件,main()函数用一个文件.体会这样安排的优点. main 函数: #include <iostream> #include <cmath> #include "need.h" using namespace std; int main() { CPoint X(2,5),Y(5,2),Z(7,

第三周项目-2

#include<iostream> #include<Cmath> using namespace std; class Triangle { public: void setA(double x) { a = x; } void setB(double y) { b = y; } void setC(double z) { c = z; } double getA() { return a; } double getB() { return b; } double getC()

第三周项目-3

Triangle.h: class Triangle { public: void setA(double x) { a = x; } void setB(double y) { b = y; } void setC(double z) { c = z; } double getA() { return a; } double getB() { return b; } double getC() { return c; } int isTriangle(); double perimeter(v

第三周 项目1-顺序表的基本运算

问题描述及代码: /* *烟台大学计算机与控制工程学院 *作 者:张晓彤 *完成日期:2016年9月12日 *问题描述:在数据结构的学习中,掌握基本运算是一个基础性的工作.这种"抽象"级别的成果,适用于各种应用场合,也是训练计算思维的根本依托之一. (1)初始化线性表InitList(&L):构造一个空的线性表L (2)销毁线性表DestroyList(&L):释放线性表L占用的内存空间 (3)判线性表是否为空表ListEmpty(L):若L为空表,则返回真,否则返回假

第三周 项目一 三角形类(1)

/* *Copyright (c) 2015,烟台大学计算机学院 *All rights reserved. *文件名称 : main.cpp *作 者 :韩娟 *完成日期 :2015年4月5日 *版 本 号 :v1.0 *问题描述 :设计三角形类,通过增加构造函数,使对象在定义时能够进行初始化,可以由下面的类声明开始,需要自己实现相关的成员函数,以及增加要求的构造函数 *输入描述 :略 *程序输出 :略 */ #include<iostream> #include<Cmath>

第三周 项目一 三角形类(2)

/* *Copyright (c) 2015,烟台大学计算机学院 *All rights reserved. *文件名称 : main.cpp *作 者 :韩娟 *完成日期 :2015年4月5日 *版 本 号 :v1.0 *问题描述 :设计默认构造函数,即不指定参数时,默认各边长为1 *输入描述 :略 *程序输出 :略 */ #include<iostream> #include<Cmath> using namespace std; class Triangle { public

第三周 项目一 三角形类(3)

/* *Copyright (c) 2015,烟台大学计算机学院 *All rights reserved. *文件名称 : main.cpp *作 者 :韩娟 *完成日期 :2015年4月5日 *版 本 号 :v1.0 *问题描述 :使用有默认参数的构造函数,不给定实参时,默认边长为1:注意--这个版本也只需要一个构造函数即可 *输入描述 :略 *程序输出 :略 */ #include<iostream> #include<Cmath> using namespace std;