图书管理系统java代码

合集下载

Java面向对象编程实战案例

Java面向对象编程实战案例

Java面向对象编程实战案例1. 简介Java面向对象编程(Object-Oriented Programming,OOP)是一种常用的编程范式,它以对象为中心,通过封装、继承和多态等特性来组织和管理代码。

本文将介绍一些实战案例,展示Java面向对象编程的实际应用。

2. 案例一:学生管理系统学生管理系统是一个典型的Java面向对象编程案例,它常用于学校、培训机构等管理学生信息。

在这个案例中,可以定义一个Student类,包含学生的姓名、年龄、学号等属性,以及学生的增删改查等方法。

可以使用面向对象的思想,将学生信息封装到一个对象中,并使用集合类来管理多个学生对象。

3. 案例二:图形计算器图形计算器是另一个有趣的Java面向对象编程案例。

可以定义一个Shape类作为图形的基类,包含计算图形面积和周长的方法,并派生出Circle、Rectangle和Triangle等子类,分别表示圆形、长方形和三角形。

通过面向对象的继承特性,可以调用对应子类的计算方法,根据用户的输入来计算所需图形的面积和周长。

4. 案例三:银行账户管理系统银行账户管理系统是一个常见的Java面向对象编程案例,用于管理银行的账户信息。

可以定义一个Account类,包含账户的姓名、余额、存取款等方法,并通过封装特性将账户信息隐藏在对象中。

可以使用ArrayList类来存储多个账户对象,实现对账户信息的管理和操作。

5. 案例四:图书馆管理系统图书馆管理系统是另一个典型的Java面向对象编程案例,用于管理图书馆的图书信息。

可以定义一个Book类,包含图书的书名、作者、价格等属性,并封装对应的get和set方法。

可以使用HashMap类来存储图书编号和对应的图书对象,实现图书的检索和借还功能。

还可以定义一个User类表示图书馆的用户,包含用户的姓名、借书数量等属性。

6. 案例五:游戏角色管理系统游戏角色管理系统是一个有趣的Java面向对象编程案例,用于管理游戏中的角色信息。

基于java的图书馆管理系统毕业设计(含源文件)

基于java的图书馆管理系统毕业设计(含源文件)

毕业论文题目:图书馆集成系统目录前言第一章绪论第一节设计初衷第二节设计任务第三节 JAVA介绍第四节编程运行环境第五节系统简介第二章系统实现第一节系统设计流程第二节系统实现过程第三章结束语第四章附注谢辞参考文献毕业论文_____图书馆集成管理系统前言随着电脑技术的发展以及电脑网络的逐渐普及,英特网成为人们查找信息的重要场所。

二十一世纪是信息的时代,所以信息的交换和信息流通显的特别重要。

因此、图书馆使用电脑来管理成为必然。

第二章绪论第一节设计初衷第二节设计任务第三节 JAVA介绍JAVA是INTERNET开发的一个强大的工具,它是一个C++的简化版本。

JAVA是一门"简单的、面向对象的、强类型的、编译型的、结构无关的、多线程(multi-threaded)的、垃圾自动收集的、健壮的、安全的、可扩展的语言。

本系统使用的是美国微软公司的MICROSOFT VISUAL J++6.0。

MICROSOFT VISUAL J++6.0是用于JAVA编程的WINDOWS集成环境。

在Visual J++中,用户可以创建、修改、编译、运行、调试和封装应用程序,所有这些操作都在单一的环境中进行。

介绍Java的Windows基础类〔WFC〕,这个新的应用程序框架访问Microsoft Windows API,允许用户用Java编成语言编写全特性的Winndows应用程序。

WFC 也包装在中执行的动态HTML 对象模型,这就让用户能够动态地操作在客户和服务器两者上的HTML。

用户可以很方便地在Visual J++内访问数据。

通过添加WFC 数据控件在Forms Designer中的窗体上,可以快速配置数据检索和显示的方式。

Visual J++通过ActiveX Data Object(ADO, ActiveX数据对象)控件来访问数据,这是用于WFC应用程序的数据编程模块。

ADO对象的内核包含Connection(连接)、Command 〔命令〕和Recordset〔记录集〕对象,利用它们,可以连接到数据库和检索记录集。

javaswing图书管理系统实报告

javaswing图书管理系统实报告

四、实验方法和步骤
实验方法:
1、本系统是基于Java Swing+MySQL实现的图书管理系统。

2、采用Java Swing作为UI界面
3、MySQL数据库作为存储
4、JDBC原生方法操作
(封装了公共的增删改查方法,见src.model.access.Connect.java)
5、采用MVC模式分为Model层、View层、Controller层
6、采用了MD5进行密码加密
实验步骤:
1、需求分析
2、概念结构,绘制E-R图
3、逻辑结构设计:将E-R图转化为等价的关系模式
4、物理结构设计:数据库表的基本结构
5、功能实现
五、实验结果(截图)
1、登录界面
2、普通用户登录界面
3、管理员登录界面
4用户界面功能分别是
图书查询借阅、借阅归还信息、个人信息管理4.1借阅
4.3查询
4.4借阅信息
4.5归还
4.6个人信息管理4.7修改个人信息
4.8修改密码
5.登录界面功能5.1注册功能
6.忘记密码功能
7.管理端功能
图书信息管理、图书种类管理、读者类型管理、图书借阅信息、超级用户7.1界面
7.2添加图书
7.3删除图书
7.4修改图书
7.5图书类型管理7.6读者信息管理历史借阅信息
7.7超级管理员界面修改个人信息
修改个人密码
7.8超级管理员验证查询管理员信息
新增管理员
删除管理员
修改该管理员信息。

java实训报告--图书管理系统

java实训报告--图书管理系统

java实训报告--图书管理系统一、项目介绍本项目是一个基于Java的图书管理系统,主要包括图书类别管理、图书信息管理、读者信息管理以及借阅和归还管理等模块。

实现了对图书馆资源的有效管理,提高了图书馆工作效率,满足了读者的需求。

二、需求分析1.用户权限分级实现用户登陆验证,分为管理员和普通用户两类,管理员有图书信息、读者信息、借阅还书和系统管理四种权限,普通用户只有查询和借还书的权限。

2.图书管理管理员可以对图书进行分类管理、添加书目、查看书目、修改和删除图书信息等操作。

3.读者管理管理员可以对读者进行添加、查看、修改和删除读者信息等操作。

普通用户只能查询自己的借书信息和还书日期。

4.借阅还书管理管理员可以对图书的借阅还书进行处理和管理,包括借书和还书操作,超期处理以及还书日期提醒等。

5.系统管理管理员可以对图书馆系统进行管理,包括用户管理、修改密码等操作。

三、设计实现1.数据库设计采用MySQL数据库进行数据存储,主要包括用户表、图书分类表、图书信息表、读者信息表、借阅信息表等。

2.界面设计采用Swing框架实现界面设计,UI界面简洁美观,与用户交互友好。

3.代码实现代码主要采用Java语言实现,采用MVC模式,将业务和UI 进行分离,提高了灵活性和可维护性。

四、实现效果本系统实现了对图书馆资源的有效管理,对管理员可以方便地进行操作,对普通用户可以快速方便地查询和借阅图书。

五、总结通过该项目的实现,使我深入学习了Java语言的面向对象编程、MVC模式、MySQL数据库的使用、Swing界面设计等技术,并深刻体会到了软件开发的需求分析、系统设计、编码实现、测试等基本流程。

同时,也感受到了信息化技术在实际工作中所带来的效率和便捷。

学校图书馆管理系统(java)

学校图书馆管理系统(java)

图书管理系统〔java〕本系统将会涉及到图书馆日常管理工作的根本常见细节,诸如新图书的入库登记,图书馆所有书籍的分类管理,图书的查询,图书的借阅、退还手续的登记,费旧图书的清理撤除等,本系统所要实现的这些功能根本上涵盖了图书馆的日常管理工作,根本能够满足校园图书馆的工作人员的管理需要。

在对本系统的具体开发过程当中,将采用Java语言进展开发,以Access实现后台数据库,本系统是完全基于图形化用户界面(GUI)的单机版本。

【关键字】信息化软件工程软件生命周期图形化用户界面AbstractThe full name of our System is: The Management Information System of Campus’s Library. At present, the computer technology is developing ever-growing, and the campus’s information construction also have pushing on, by contrast, the method of management in many university library is still by man, the library’workers must face to the large number of books, and also face to fall into the trouble. Actually, the work can be done by the computer which have a management information system. Then the heavy work will not be done by people, the library’workers can use computer to manage the books, and the everyday work will be easy.This is the goal which our system want to achieve finally.The principle of development to our system will be following with Software Engineering, we use the traditional model which be called Waterfall, and the course of development will be divided into six stage. We will develop the system in sequence.Our system contains many operations about library’s everyday work, such as Register New Books, Classify Books according to their subjects, Find Books, Dispose old books, and so on, our system can finish all of the work, and can meet the requirements of the library’sworkers.During the development of our system, we use the tool of JAVA to develop it, our system is on the basis of the Access Database.【KeyWords】Management Information System, Software Engineering, Ja目录一引论1〔一〕问题的定义1〔二〕可行性分析1〔1〕技术可行性1〔2〕经济可行性2二需求分析3数据库需求分析3〔1〕数据流图3〔2〕数据库逻辑构造设计4〔3〕数据库概念构造设计5 三系统设计6〔一〕总体设计6〔二〕详细设计6〔1〕各个模块的介绍6〔2〕流程图7〔3〕数据字典7〔4〕代码实现8四总结13五致谢14六参考文献14一引论〔一〕问题的定义首先,图书馆的管理直接关系到我们大学生如何更好的使用图书,更充分的利用现有资源学习,提高自身素质。

图书管理系统需求分析报告附有java代码

图书管理系统需求分析报告附有java代码

目录一.概述1.编写目的2。

项目背景3。

定义4。

参考资料5.开发环境二.需求分析1。

问题提出2。

系统的业务功能分析3。

需完成的功能三.系统需求说明1。

对功能的规定2。

对性能的规定3。

输入输出要求四.新系统的逻辑模型1。

图书馆组织机构分析2。

系统功能结构图3。

业务流程图4.数据流程图5.数据字典一.概述1、编写目的按照关系型数据库的基本原理,综合运用所学的知识,以小组为单位,设计开发一个小型的图书管理系统。

通过对一个实际问题的分析、设计与实现,将原理与应用相结合,使学生学会如何把书本上学到的知识用于解决实际问题,培养学生的动手能力;另一方面,使学生能深入理解和灵活掌握教学内容2、项目背景数据处理手工操作,工作量大,出错率高,出错后不易更改。

图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了。

造成查询费时、费力.如要对很长时间以前的图书进行更改就更加困难了。

.a。

待开发的软件系统的名称是《图书管理系统》b。

本软件适用于教育界,他是比较完善的系统管理软件,对图书馆的书籍、读者资料、借还书等可以进行方便的管理。

C。

开发员:蔚奇秀,曹海花,李小峰,祁乐3、定义数据流程图(DFD):为描述软件系统中的信息流提供了一个图形方法。

箭头代表数据流,方框代表数据的源点或终点,圆框代表数据流的交换,双杠代表数据存储的地方.数据字典是对数据流程图中的数据,变换等进行精确的定义.4、参考资料1.萨师煊、王珊《数据库系统概论》高等教育出版社2000。

22.俞盘祥、沈金发《数据库系统原理》清华大学出版社2000。

63.王珊、陈红《数据库系统原理教程》清华大学出版社1998.74.施伯乐、丁宝康《数据库系统教程》高等教育出版社1999.125、开发环境WindowXP,/7 Microsoft Visual C++, SQLSerevr2000.一、需求分析1、问题的提出:图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。

图书馆管理系统(JavaWeb)

图书馆管理系统(JavaWeb)

图书馆管理系统(JavaWeb)图书馆管理系统(Java Web)概述基于Spring + Spring MVC + MyBatis的图书馆管理系统,使⽤Maven进⾏包管理。

主要功能包括:图书查询、图书管理、图书编辑、读者管理、图书的借阅与归还以及借还⽇志记录等。

项⽬演⽰<——点击跳转<——点击跳转<——点击跳转<——点击跳转环境配置需要提前配置好Maven环境,数据库为MySql,在src/main/resources/db.properties中修改MySql⽤户名和密码。

数据库脚本在library.sql中,可⾃动建库。

使⽤mvn jetty:run可快速搭建。

特别注意:如果要搭⼊服务器中使⽤,⽤tomcat跑需要将项⽬打包⼊tomcat中的root⽂件夹使⽤,因为项⽬设计时,⽤的jetty,所有jsp⽂件路径写的都是相对路径。

概念设计⽤户分为两类:读者、图书馆管理员。

图书馆管理员可以修改读者信息,修改书⽬信息,查看所有借还⽇志等;读者仅可以修改个⼈信息、借阅或归还书籍和查看⾃⼰的借还⽇志。

数据库E-R图逻辑设计共有6个表:1. 图书书⽬表book_info名类型长度⼩数点NULL⽤途键book_id bigint200否图书号✔name varchar200否书名author varchar150否作者publish varchar200否出版社ISBN varchar150否标准书号introduction text00是简介language varchar40否语⾔price decimal102否价格pub_date date00否出版时间class_id int110是分类号number int110是剩余数量2. 数据库管理员表admin名类型长度⼩数点NULL⽤途键admin_id bigint200否账号✔password varchar150否密码username varchar150是⽤户名3. 图书分类表class_info名类型长度⼩数点NULL⽤途键class_id int110否类别号✔class_name varchar150否类别名4. 借阅信息表lend_list名类型长度⼩数点NULL⽤途键ser_num bigint200否流⽔号✔book_id bigint200否图书号reader_id bigint200否读者证号lend_date date00是借出⽇期back_date date00是归还⽇期5. 借阅卡信息表reader_card名类型长度⼩数点NULL⽤途键reader_id bigint200否读者证号✔password varchar150否密码username varchar150是⽤户名6. 读者信息表reader_info名类型长度⼩数点NULL⽤途键reader_id bigint200否读者证号✔name varchar100否姓名sex varchar20否性别birth date00否⽣⽇address varchar500否地址phone varchar150否电话功能展⽰1. ⾸页登陆管理者账号:123456/123456(见数据库admin表)读者账号:10000/123456()见数据库reader_card表2. 管理员系统⽤登陆进⼊2.1 图书管理2.2 图书详情2.3 读者管理2.4 借还管理3. 读者系统3.1 查看全部图书3.2 个⼈信息查看,可以修个个⼈信息3.3 个⼈借阅情况查看。

javase综合案例

javase综合案例

javase综合案例综合案例:图书管理系统一、引言图书管理系统是一种用于管理与存储图书信息的软件系统。

该系统可以实现对图书的借阅、归还、续借、借阅记录查询等功能,方便图书馆管理人员进行图书管理工作。

本文将介绍一个基于JavaSE的图书管理系统的设计与实现。

二、需求分析1. 系统应具备管理员和读者两种角色,管理员可以进行图书管理操作,读者可以进行借阅和归还操作。

2. 系统应提供图书的添加、删除、修改和查询功能,管理员可通过图书的书名、作者等信息快速检索图书。

3. 系统应提供读者的注册、注销和查询功能,读者可以通过借阅号和密码登录系统。

4. 系统应记录借阅记录,包括借阅日期、归还日期和借阅状态等信息。

5. 系统应提供图书的借阅、归还和续借功能,借阅时应检查图书库存和读者的借书上限。

6. 系统应提供借阅记录的查询功能,管理员可按照读者或图书进行查询。

7. 系统应具备良好的用户界面,方便操作和使用。

三、系统设计根据需求分析,系统的核心功能包括图书管理、读者管理和借阅管理。

因此,可以设计三个核心类:Book、Reader和BorrowRecord。

1. Book类Book类用于存储图书信息,包括书名、作者、出版社、出版日期、图书编号和库存数量等属性。

该类还提供图书的添加、删除和修改方法,以及根据书名、作者等信息进行查询的方法。

2. Reader类Reader类用于存储读者信息,包括借阅号、姓名、性别、年龄和借书上限等属性。

该类还提供读者的注册、注销和查询方法,以及读者登录系统的方法。

3. BorrowRecord类BorrowRecord类用于存储借阅记录,包括借阅日期、归还日期、借阅状态、借阅图书和借阅读者等属性。

该类还提供借书、还书和续借的方法,以及查询借阅记录的方法。

四、系统实现根据系统设计,可以编写相关的Java类文件来实现图书管理系统。

以下是部分代码示例:Book.java:```javapublic class Book {private String name;private String author;private String publisher;private String publicationDate;private int stock;// 构造方法// 添加图书public void addBook() {// 添加图书逻辑}// 删除图书public void deleteBook() {// 删除图书逻辑}// 修改图书public void modifyBook() {// 修改图书逻辑}// 根据书名和作者查询图书public void searchBook(String name, String author) { // 查询图书逻辑}}Reader.java:```javapublic class Reader {private String name;private String gender;private int age;private int borrowLimit;// 构造方法// 注册读者public void register() {// 注册逻辑}// 注销读者public void cancel() {// 注销逻辑}// 查询读者信息public void searchReader() {// 查询读者逻辑}// 读者登录public void login(String borrowId, String password) { // 登录逻辑}}BorrowRecord.java:```javapublic class BorrowRecord {private Date borrowDate;private Date returnDate;private boolean borrowStatus;private Book book;private Reader reader;// 构造方法// 借书public void borrow(Book book, Reader reader) {// 借书逻辑}// 还书public void returnBook(Book book, Reader reader) { // 还书逻辑}// 续借public void renew(Book book, Reader reader) {// 续借逻辑}// 查询借阅记录public void searchRecord(Book book, Reader reader) { // 查询记录逻辑}}```以上仅为图书管理系统的基本功能和类的设计示例,实际开发中还需进一步完善和优化。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

项目下的包及类:数据库bookcollection表book(bookID设置为自增)表user表userbook登录注册页面:package bookDB;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;public class RLogin extends JFrame implements ActionListener{ //Container c;String sex;int type;// 创建登录组件JLabel jlabel0 = new JLabel("登录:");JLabel jLabel1 = new JLabel("学号(或职工号):");JLabel jLabel2 = new JLabel("密码:");JTextField userID1 = new JTextField(10);JTextField password1 = new JTextField(10);JButton btn_ok1 = new JButton(); // 创建登录确定按钮// 创建注册组件JLabel jlabel00 = new JLabel("注册:");JLabel jLabel3 = new JLabel("姓名:");JLabel jLabel4 = new JLabel("性别:");JLabel jLabel5 = new JLabel("密码:");JLabel jLabel6 = new JLabel("学号(或职工号):");JLabel jLabel7 = new JLabel("院系:");JLabel jLabel8 = new JLabel("专业:");JLabel jLabel9 = new JLabel("用户类别:");JTextField name = new JTextField(10);JTextField password2 = new JTextField(10);JTextField ID2 = new JTextField(10);JTextField department = new JTextField(10);JTextField major = new JTextField(10);JRadioButton rb1[]; // 单选按钮,用于设定性别JRadioButton rb2[];//用户类型选择JButton btn_ok2 = new JButton(); // 创建注册确定按钮// 构造函数public RLogin(){super("登录/注册:"); // 调用JFrame的构造函数String[] sex = { "男", "女" };String[] type = { "本科生", "研究生", "老师"};JPanel panel1 = new JPanel(new FlowLayout());// 使用JPanel类创建面板,该类是JComponent类的子类,后者又扩展Container//每个JPanel都是一个Container,因此,可以向JPanel添加包括面板在内的组件//this.setBackground(Color.YELLOW);this.add(panel1);this.add(panel1, BorderLayout.NORTH); // JFrame类的默认布局管理器为BorderLayout,此处将panel1设置在面板的北侧。

// 在panel1面板上添加标签panel1.add(jlabel0);panel1.add(jLabel1);panel1.add(userID1);panel1.add(jLabel2);panel1.add(password1);btn_ok1 = new JButton("确定");btn_ok1.addActionListener(this);panel1.add(btn_ok1);JPanel panel2 = new JPanel(new FlowLayout());this.add(panel2);this.add(panel2, BorderLayout.CENTER); // JFrame类的默认布局管理器为BorderLayout,此处将panel2设置在面板的南侧。

// 在panel2面板上添加组件panel2.add(jlabel00);panel2.add(jLabel3);panel2.add(name);panel2.add(jLabel4);//创建ButtonGroup的对象,用于维护单选按钮的逻辑关系ButtonGroup bg1 = new ButtonGroup();rb1 = new JRadioButton[sex.length];// 单选按钮for (int i = 0; i < 2; i++) {//rb1[i] = new JRadioButton(sex[i]);bg1.add(rb1[i]);// 管理单选按钮panel2.add(rb1[i]); // 将单选按钮添加到面}panel2.add(jLabel5);panel2.add(password2);panel2.add(jLabel6);panel2.add(ID2);panel2.add(jLabel7);panel2.add(department);panel2.add(jLabel8);panel2.add(major);panel2.add(jLabel9);//创建ButtonGroup的对象,用于维护单选按钮的逻辑关系ButtonGroup bg2 = new ButtonGroup();rb2 = new JRadioButton[type.length];// 单选按钮for (int j = 0; j < 3; j++) {//rb2[j] = new JRadioButton(type[j]);bg2.add(rb2[j]); // 管理单选按钮,只能选一个panel2.add(rb2[j]); // 将单选按钮添加到面}btn_ok2 = new JButton("确定");btn_ok2.addActionListener(this);panel2.add(btn_ok2);}public static void main(String[] args) {RLogin app = new RLogin();app.setSize(600, 200); // 设置窗口大小app.setVisible(true); // 设置窗口可见app.setDefaultCloseOperation(EXIT_ON_CLOSE);} // end main method@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stub//String sex, type;// 用户点击登录确定按钮if (e.getSource() == btn_ok1) {userbean rs = new userbean();//System.out.println(userID1.getText() + password1.getText());rs.login(userID1.getText(), password1.getText());this.dispose();}// 用户点击注册确定按钮if (e.getSource() == btn_ok2) {// 获取用户选择的性别并存入sex中for (int m = 0; m < rb1.length; m++){if (rb1[m].isSelected()){sex = rb1[m].getText();}}// 获取用户选择的类别并存入type中for (int n = 0; n < rb2.length; n++){if (rb2[n].isSelected()){type = n+1;}}userbean rs = new userbean();rs.register (name.getText(), sex, password2.getText(), ID2.getText(), department.getText(),major.getText(), type);this.dispose();}} // end actionPrform method} // end systemLogin method登录注册方法:package bookDB;import java.sql.ResultSet;import java.sql.SQLException;import javax.swing.JOptionPane;public class userbean {boolean boolLogin=false;//用户登录之后为true,没登录状态下为falseString sql;String userID;static String loginID;// 定义登录后的IDstatic int usertype;String username;String password;String sex;String department;String major;int userType;int canBorrow;ResultSet rs = null;//******************注册**********************public void register(String username,String sex,String password,String userID,String department,String major,int type){DatabaseConn2 DB = new DatabaseConn2();ername = username;erID = userID;this.sex = sex;this.department = department;this.major = major;//添加图书时,剩余馆藏量=馆藏量if(username.equals("")||userID.equals("")||sex.equals("")||department.equals("")||major. equals("")){ //提示完善图书信息JOptionPane.showMessageDialog(null,"请完善信息","错误",JOptionPane.ERROR_MESSAGE);return;}else{//int type = Integer.parseInt(userType);//转换用户类型为int型sql = "insert into user(userName,sex,password,userID,department,major,userType)"+ " values('"+username+"','"+sex+"','"+password+"','"+userID+"','"+department+"','"+major+"',"+type+")";try{DB.executeUpdate(sql); //更新语句JOptionPane.showMessageDialog(null,"注册成功您可返回登录"); //提示添加成功// bookMain main =new bookMain();RLogin login = new RLogin();login.pack();login.setVisible(true);}catch (Exception e){System.out.println(e);JOptionPane.showMessageDialog(null,"保存失败!","错误",JOptionPane.ERROR_MESSAGE);}finally {DB.close();}}}//*****************登录*****************public void login(String userId, String password1){DatabaseConn2 DB = new DatabaseConn2();erID = userId;this.password = password1;if(userID.equals("") || password.equals("")){JOptionPane.showMessageDialog(null,"请填写完整登录信息!","错误",JOptionPane.ERROR_MESSAGE);return;}else{sql = "select * from user where userID = '"+ userID +"'";rs = DB.executeQuery(sql);try {if(rs.next()){System.out.println(rs.getString("password"));if(rs.getString("password").equals(password) ){JOptionPane.showMessageDialog(null,"登录成功!");bookMain main = new bookMain();//登录成功后显示登录页面main.pack();main.setVisible(true);// HttpSession session = request.getSession(true);// session.removeAttribute(logid);// session.setAttribute(logid,userID);loginID = userID;//获取登录后的用户ID//获取用户类型usertype =Integer.parseInt(rs.getString("userType"));System.out.println(usertype+"\t"+rs.getString("userType"));}else{System.out.println("你好");}}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}主页面:package bookDB;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;public class RLogin extends JFrame implements ActionListener{//Container c;String sex;int type;// 创建登录组件JLabel jlabel0 = new JLabel("登录:");JLabel jLabel1 = new JLabel("学号(或职工号):");JLabel jLabel2 = new JLabel("密码:");JTextField userID1 = new JTextField(10);JTextField password1 = new JTextField(10);JButton btn_ok1 = new JButton(); // 创建登录确定按钮// 创建注册组件JLabel jlabel00 = new JLabel("注册:");JLabel jLabel3 = new JLabel("姓名:");JLabel jLabel4 = new JLabel("性别:");JLabel jLabel5 = new JLabel("密码:");JLabel jLabel6 = new JLabel("学号(或职工号):");JLabel jLabel7 = new JLabel("院系:");JLabel jLabel8 = new JLabel("专业:");JLabel jLabel9 = new JLabel("用户类别:");JTextField name = new JTextField(10);JTextField password2 = new JTextField(10);JTextField ID2 = new JTextField(10);JTextField department = new JTextField(10);JTextField major = new JTextField(10);JRadioButton rb1[]; // 单选按钮,用于设定性别JRadioButton rb2[];//用户类型选择JButton btn_ok2 = new JButton(); // 创建注册确定按钮// 构造函数public RLogin(){super("登录/注册:"); // 调用JFrame的构造函数String[] sex = { "男", "女" };String[] type = { "本科生", "研究生", "老师"};JPanel panel1 = new JPanel(new FlowLayout());// 使用JPanel类创建面板,该类是JComponent类的子类,后者又扩展Container//每个JPanel都是一个Container,因此,可以向JPanel添加包括面板在内的组件//this.setBackground(Color.YELLOW);this.add(panel1);this.add(panel1, BorderLayout.NORTH); // JFrame类的默认布局管理器为BorderLayout,此处将panel1设置在面板的北侧。

相关文档
最新文档