java小系统 数据库 图书馆

图书管理系统

                         目录

第一章 研究前提................................................................................1

第二章 系统分析................................................................................3

第三章 数据库分析............................................................................5

第四章 系统详细设计与具体实现....................................................8

第五章 收获与体会............................................................................14

第六章 系统源代码............................................................................15

参考文献

 

 

第一章

 研究前提

一:目的及要求

1:下载并了解jdk1.8

2:下载并且学会安装Microsoft SQL Server 2008数据库

3:下载并安装eclipse 8.0 java开发工具

4:掌握数据库的连接,了解java开发工具,熟悉java开发运行环境,学会用java编写项目,知道如何搭建系统框架,通过这个系统培养我们的眼光以及用java开发项目的兴趣

附加:

Jdk下载地址:Oracle官网”www.8u10-windows-i586.exe”

http://java.sun.com/javase/downloads/index.jsp

Microsoft SQLServer 2008地址:CMDN开源社区

Eclipse 8.0下载地址:http://www.eclipse.org

二:研究环境

JDK1.8    SQL server 2008  eclipse 8.0 windows 8.0操作系统  PC

三:研究环境搭建

JDK

  说明一下要找到适合自己操作系统的安装包,下载完安装包后解压到指定安装路径。直接点击exe可执行程序,安装到你指定的路径,                   如果没有特殊要求,一般默认安装到C:\Program Files\Java目录下。

JDK环境配置,由于JDK提供的编译与运行都是基于命令行的,所以应该进行一下DOS下面的一个设定,把JDK安装目录的bin添加到DOS的外部命令中,这样就可以直接运用bin目录下的exe程序。

配置步骤:开始->设置->控制面板->系统(或者在我的电脑 右键选择属性。系统->高级->环境变量。在环境变量窗口中,选择系统变量中变量名为PATH的环境变量,双击该按钮。把JDK安装路径中的bin目录的绝对路径,添加到PATH变量的值中,并且用半角的分号和已有路径进行分隔。

检测jdk是否安装成功。

开始->程序->附件->命令提示符(windows+r) 在命令行中输入javac,并回车执行。如果输出的是使用说明,则配置成功,否则重新配置环境。

eclipse使用说明

Eclipse是一个开源,免费的集成开发工具。

Eclipse的安装很简单,只要解压到任意路径下就行,要说明的是安装eclipse前先安装jdk。

然后,关于eclipse的使用,依次需要我自己去实践,比如

1

project->package->class 等等,重要的是去如何运行,调试,熟悉jdk1.6 API

文档说明也是必要的。

SQL server 2008说明

1.1SQL server 2008数据库是一个非常好的工具。数据库安装是一个煎熬的过程,它对于新手来说是一个比较耗时的。

注释:SQL Server 2008是一个重大的产品版本,它在Microsoft的数据平台上发布,帮助用户的组织随时随地管理任何数据。它可以将结构化、半结构化和非结构性文档的数据(例如图像和音乐)直接存储到数据库中。SQL Server 2008 提供一系列丰富的集成服务,可以对数据进行查询、搜索、同步、报告和分析之类的操作。数据可以存储在各种设备上,从数据中心最大的服务器一直到桌面计算机和移动设备,用户可以控制数据而不用管数据存储在哪里。

安装方法建议直接百度SQL server 2008安装过程的图示步骤。(这里就不再说明具体注意事项)    尽管安装成功,还需要进行一些补丁。

1.2 在连接数据库之前必须保证SQL Server 2008是采用SQL Server身份验证方式而不是windows身份验证方式。如果在安装时选用了后者,则重新设置如下:

http://blog.163.com/jackie_howe/blog/static/19949134720122261121214/

1.3 安装好SQL Server 2008后,运行开始→所有程序→Microsoft SQL Server 2008→配置工具→SQL Server配置管理器,在打开的窗口的左边找到MSSQLSERVER的协议,在右边右单击TCP/IP,选择已启用。如果Named Pipes 未启用也设为启用。右边的 TCP/IP,在弹出的窗口中选择IP地址标签,把IPAll中的 TCP端口 设成 1433,并将上方所有的已启用选项设置成是。

1.4 然后重启数据库,重启完毕后,接下来使用命令测试1433端口是否打开。

开始菜单→运行cmd→在命令提示符下输入:telnet 127.0.0.1 1433(注意telnet与127之间有空格,1与1433之间有空格)若提示“不能打开到主机的连接,在端口1433: 连接失败”,则说明1433端口没有打开,需要重新进行以上配置。

如何实现eclipse与数据库SQLserver2008 的连接

2.1 为使各个小程序都能连接在一起,需使用JDBC连接数据库,包括安装ODBC驱动,连接数据源。所以,需要下载驱动程序工具。

Microsoft JDBC Driver for SQL Server

http://www.microsoft.com/zh-cn/download/details.aspx?id=11774

上面为下载地址。

2.2 在环境变量中配置JDBC Driver,方法与配置jdk类似,这里不再重述。

2.3 检测是否可以通过eclipse加载驱动数据库

2.3.1打开SQL Server 2008,在其中新建数据库 Test

2.3.2运行Eclipse,新建一个Java Project 名为 Test

2.3.3  右击工程名

Build Path→Configure Build Path,在打开的窗口的右边选Libraries标签,然后单击 Add External JARs,找到sqljdbc4jar文件并打开,然后单击

2

OK完成构建路径的配置

最后,进行程序设计,使eclipse成功加载驱动数据库

在test中建立一个名为package的包,源代码如下:

package pkg;

import java.sql.*;

public class
Main {

public static
void main(String
[] args)

{

String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";

String dbURL="jdbc:sqlserver://localhost:1433;DatabaseName=创建的数据库名";

String userName="数据库登录名";

String userPwd="登录密码";

try

{       Class.forName(driverName);

System.out.println("加载驱动成功!");

}catch(Exception e){

e.printStackTrace();

System.out.println("加载驱动失败!");

}

try

{

Connection dbConn=DriverManager.getConnection(dbURL,userName,userPwd);

System.out.println("连接数据库成功!");

}catch(Exception e)

{e.printStackTrace();

System.out.print("SQL
Server连接失败!");}          
                          }

}

直到出现 加载驱动成功! 连接数据库成功!

                         

                      第二章

                     系统分析

  针对现有的图书馆管理系统,我们设计简单的图书系统,以用来满足我们基本的需求。  业务流程:

3

用户登录

No

显示主界面

管理

帮助

Yes

针对业务流程,现在描述其功能如下:

1.用户登录 系统对其用户的合法性进行检查。

2.扩充书库 对新购进的书进行编号,并且把基本信息录入计算机,存储于数据库,易于形成表,并对表进行处理。

3.系统管理 更改界面,退出系统。

4.用户管理 更改用户密码,查询用户。

5.图书预览 查询图书管理系统的库存,及其图书信息

4

6.图书查询 查询图书管理系统是否存在该图书

7.帮助 使用指南,关于系统介绍,作者信息 版权所有

8.图书管理 删除用户等等操作

数据分析

根据系统的基本原理,详细设计分析所需功能,对目标进行精确的概述,从而把实现目标进行转换java语言,进行系统思想转换。详细的源代码见第六章系统源代码。

第三章

                    数据库分析

E-R关系图

学生用户

图书资料

                1                     n              

 

                           

用户

设计表

实体型--->

用户名

密码

 

属性----->

图书信息

实体型--->

dbo.Table_book表

5

SELECT     TOP (200) 图书名, 图书号, 单价, 作者, 出版社, 入库时间

FROM       Table_book

ORDER BY 作者

dbo.Table_user表

SELECT     TOP (200) 用户名, 密码

FROM         Table_user

表的相关信息

6

数据表dbo.Table_book

数据表dbo.Table_user

                            7

第四章

               系统详细设计与具体实现

系统的功能分析与详细设计

本系统的具体实现目标

·界面简单 友好 美观 画面感强

·操作简单 快捷方便 信息分类清晰准确 数据灵活查询

·数据存储安全 可靠

·对于用户输入的数据 进行严格检查 排除人为因素

操作说明:

系统用户名 sa 密码 123

8

操作流程:

1 选择系统管理/更改主题按钮,在弹出的窗体中进行对界面更换

2 选择系统管理/退出系统按钮,将要退出图书管理系统

3 选择图书预览/预览图书按钮,在弹出的窗体中进行查看库存

4 选择图书管理/删除操作按钮,在弹出窗体中进行操作

5 选择扩充图书/新书登记按钮,在窗口中添加新书信息

6 选择查询/查询图书操作按钮,在窗口中进行操作

7 选择用户管理/更改密码按钮,在窗体中进行更改密码操作

8 选择帮助/关于作者按钮,显示作者信息;帮助/关于系统按钮,显示系统相关信息;帮助/使用指南按钮,显示操作指南。

系统的具体实现

登录界面

主界面

 

                          9

系统管理系统/更改主题/睿智深灰

图书预览

10

图书删除

   

                              11                       

扩充图书

图书查询

用户管理/更改密码

                         12

关于作者

关于系统

使用指南

13

      第五章

                  收获与体会

收获与体会

  本人自从开始接触java,对其兴趣浓厚,然而其学习路途并不是很顺利,尤其是到用数据库安装和用java连接数据库时,其中遇到的困难很多,当时觉得太难了,现在回过头来看,其实还好。一切都是值得的,因为在用java做这个图书管理系统过程中收获挺多,自己进一步了解与入门java。

通过对java的学习,以及应用eclipse开发工具,我们初步了解通过编程实现企业图书管理的主要核心,实现一个简单图书管理系统。

系统在调试过程中基本调试了当初的设计要求,设计合理,功能较为完善,目前可以做到查询,改密码,添加,删除,修改等等基本操作。其中程序源代码我将会在在附录中给出,相信大家通过源代码会进一步对编程思想有更深的了解。在这个页面设计中,也有许多的不足,页面设计较为简单,不够精致,美观。

由于学习java的时间较短和使用java编程的能力有限,我们设计的图书管理系统只能完成几个简单的基本功能,还存在很多问题需要我们亟待解决,系统设计的不精致同时存在着许多不足与缺陷,还需要我们进一步完善。

根据目前大二的我以及对IT的了解,可以使用jsp进行网页界面的设计,使用MVC设计模式,采用开源框架Struts,使之具有开发效率高、设计灵活、生成的软件界面友好美观等特点。

在弄图书管理系统之前,我参阅了大量的图书设计文献,对所开发系统的现状,发展情况以及未来发展趋势有了深入的了解;在整个系统的需求分析过程中对开发前期工作的流程步骤有了深入的掌握;在开发过程我进一步学习了Java的基础语法和一些HTML网页设计方面的知识,以便使系统有更好的美观性,在编写过程中也规范了许多编码习惯。

在整个系统开发的过程中,我学到了很多新的知识,以前学过的许多知识点在运用过程中也有了更为深入的分析,这是我大一到大二期间做过的规模最大的系统,在这个过程中也体会到了如何将书本知识转化到实际的应用中。

 

14

第六章

                 系统源代码

登录源代码Login类

package pk;//login类所在的包

import java.sql.*;//包含实现java程序与操作系统以及其他java程序之间进行数据交换的类

import java.awt.*;//包含创建用户界面与绘制图形的类

import java.awt.event.*;//事件处理所在的类

import javax.swing.*;//包含轻量级组件

@SuppressWarnings("deprecation")

public class Login extends JFrame implementsActionListener//登录界面login类继承JFrame类实现ActionListener接口

{

privatestatic final long serialVersionUID = 1L;//序列化时保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性。

Containercp=null;//定义空集合

JFramef=null;//定义容器

JButtonj1,j2;//定义按钮

JTextFieldname;//文本框 用于存储用户名

JPasswordFieldpwd;//密码框 用于存储密码

JLabeljlabel1,jlabel2;//用于短文本字符串或图像或二者的显示区 标签

Color c;//定义颜色

JPaneljp1,jp2;//JPanel 是一般轻量级容器中间容器

Login()//实现登入界面

{

f=newJFrame("小型图书馆管理系统");//显示"小型图书管理系统"的标题

j1=newJButton("登录");//显示按钮登录

j2=newJButton("取消");//显示按钮取消

cp=f.getContentPane();//返回窗体的 contentPane对象

jlabel1=newJLabel(" 用户 ");//显示用户

jlabel2=newJLabel(" 密码 ");//显示密码

jp1=newJPanel();//面板1

jp2=newJPanel();//面板2

name=newJTextField(19);//设置用户名长度大小

pwd=newJPasswordField(19);//设置密码长度大小

jp1.add(jlabel1);

jp1.add(name);

jp1.add(jlabel2);

jp1.add(pwd);//以上分别把标签1 用户名 标签2 密码添加到面板1

JLabel JL=new JLabel("<html><fontcolor=red size=‘6‘><i>欢迎登陆图书馆

15

</i></font>",SwingConstants.CENTER);

//定义标签JL 将JL中的内容添加到某区域的中心位置。用于罗盘方向常量

(NORTH 等)和框方向常量(TOP 等)。

//"<html><font color=red size=‘6‘><i>欢迎登陆图书馆</i></font>"

//规定文本的字体、字体尺寸、字体颜色  color->颜色  size->字体  <i>标签显示斜体文本效果

cp.add(JL,"North");//将JL添加到NORTH

jp2.add(j1);//将按钮登录添加到面板2

jp2.add(j2);//将按钮取消添加到面板2

cp.add(jp1,"Center");//将面板1添加到Center

cp.add(jp2,"South");//将面板2添加到South

jp1.setBackground(new Color(245,211,155));//label颜色  面板1设置背景   三色板调制颜色

Toolkit kit=Toolkit.getDefaultToolkit();//

Dimension screen=kit.getScreenSize();//

int x=screen.width;//设置窗口的宽度

int y=screen.height;//设置窗口的高度

f.setSize(300,300);//窗口设置大小

int xcenter=(x-300)/2;//设置窗口距离长

int ycenter=(y-300)/2;//设置窗口距离宽

f.setLocation(xcenter,ycenter);//显示在窗口中央

f.setVisible(true);//窗口可见

j1.addActionListener(this);//注册事件监听器

j2.addActionListener(this);//注册事件监听器

f.addWindowListener(new WindowAdapter ()//事件适配器

{//设置窗口的关闭方式

public void windowClosing(WindowEvent e)

{

System.exit(0);

}

}

);

}

public void confirm()//验证用户名与密码是否匹配

{

try

{

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

//连接数据库

}

catch(ClassNotFoundExceptione)

{

System.out.println("加载驱动程序出错");//加载异常}

16

try

{

Stringdbuser = "sa";//数据库登录名

Stringdbpwd = "123";//数据库登录密码

Stringurl="jdbc:sqlserver://localhost:1433;DatabaseName=student";

//直接使用当前类目录所在的数据库文件

Connectioncon=DriverManager.getConnection(url,dbuser,dbpwd);

//连接数据库

Statementsql=con.createStatement();

Stringuname=name.getText().trim();

StringMima=pwd.getText().trim();

StringqueryMima="select * from dbo.Table_user where 用户名=‘"+uname+"‘ and 密码=‘"+Mima+"‘";

//操作数据库的语句从dbo.Table_user表中获取用户名和密码

ResultSetrs=sql.executeQuery(queryMima);

if(rs.next())

{

newBook(uname);//登录密码正确  则进入主框架 主登录界面

f.hide();

con.close();

}

else

{

JOptionPane.showMessageDialog(null,"该用户不存在","提示!",JOptionPane.YES_NO_OPTION);

}

//如果不存在该用户则抛出用户不存在

name.setText("");

pwd.setText("");//重置用户名 密码框

}

catch(SQLExceptiong)

{

System.out.println(g.getErrorCode());

System.out.println(g.getMessage());//异常问题的处理

}

}

publicvoid actionPerformed(ActionEvent e)

{

Stringcmd=e.getActionCommand();

if(cmd.equals("登录"))

{

confirm();//匹配登录按钮

}

17

else if(cmd.equals("取消"))

{

f.dispose();//匹配取消按钮

}

}

publicstatic void main(String [] args)

{

newLogin();//程序入口处

}

}

图书登记BookIn类

package pk;

import java.sql.*;//包含实现java程序与操作系统以及其他java程序之间进行数据交换的类

import java.awt.*;//包含创建用户界面与绘制图形的类

import java.awt.event.*;//事件处理所在的类

import java.awt.Container;//包含容器类

import javax.swing.*;//包含轻量级组件

public class BookIn implements ActionListener{

//BookIn类实现接口ActionListener

JFrame f3;//设置顶级窗口对象

Container cp;//容器对象

JPanel jp1,jp2,jp3,jp4,jp,jpanelWest;//创建面板

JButton jbt1,jbt2;//设置按钮

JLabel label1,label2,label3,label4,label;//创建标签

String sno;//创建字符串对象

JTextField tf1,tf2,tf3,tf4,tf5,tf6;//创建文本框

BookIn()//BookIn类

{

f3=newJFrame("图书信息添加");//设置标题

cp=f3.getContentPane();//返回ContentPane内容

jp1=newJPanel();//面板jp1

jp2=newJPanel();//面板jp2

jp3=newJPanel();//面板jp3

jp4=newJPanel();//面板jp4

jpanelWest=newJPanel();//创建面板jpanelWest

jp=newJPanel();

jbt1=newJButton("确定");

jbt2=newJButton("取消");//创建按钮 内容分别为确定  取消

label=newJLabel("<html><font color=blue size=‘6‘>新书登记</font>",SwingConstants.CENTER);

//创建标签  放到中间

18

label.setForeground(Color.black);//标签设置前景色

tf1=newJTextField(20);//设置文本框tf1的大小

tf2=new JTextField(20);//设置文本框tf2的大小

tf3=newJTextField(20);//设置文本框tf3的大小

tf4=newJTextField(20);//设置文本框tf4的大小

tf5=newJTextField(20);//设置文本框tf5的大小

tf6=newJTextField(20);//设置文本框tf6的大小

jp1.add(jbt1);

jp1.add(jbt2);

JPaneljpanel=new JPanel();

jpanel.add(label);//面板添加标签 label

JPanelpp4=new JPanel();

JPaneljpane4=new JPanel();

cp.add(jpanel,"North");//面板放置North

JPanelpp2=new JPanel(new GridLayout(6,1,20,10));//设置为网格布局 容器的水平间距为20 垂直布局间距为10

JPanelpp3=new JPanel();

pp4.setLayout(newGridLayout(6,1));//设置容器6行1列

pp4.add(newJLabel("图书名",SwingConstants.CENTER));

pp2.add(tf1);

pp4.add(newJLabel("图书号",SwingConstants.CENTER));

pp2.add(tf2);

pp4.add(newJLabel("单 价",SwingConstants.CENTER));

pp2.add(tf3);

pp4.add(newJLabel("作 者",SwingConstants.CENTER));

pp2.add(tf4);

pp4.add(newJLabel("出版社",SwingConstants.CENTER));

pp2.add(tf5);

pp4.add(newJLabel("入库时间",SwingConstants.CENTER));

pp2.add(tf6);

//以上分别为将图书名 图书号 单价 作者 出版社 入库时间添加到pp4面板中

//以上分别为将文本框添加到pp2面板中

pp3.add(jbt1);

pp3.add(jbt2);//  分别将按钮添加到面板pp3中

cp.add(pp4,"West");

cp.add(pp2,"East");

cp.add(pp3,"South");

cp.add(jpane4,"Center");

//容器中West->pp4 East->pp2 South->pp3Center->jpane4 North->jpanel

f3.setSize(320,300);//设置顶级窗口大小

f3.setVisible(true);//设置顶级窗口可视化

jbt1.addActionListener(this);

19

jbt2.addActionListener(this);

}

public void insertRecord()

{

if(tf1.getText().equals("")||tf2.getText().equals("")||tf3.getText().equals("")||

tf4.getText().equals("")||tf5.getText().equals("")||tf6.getText().equals(""))

{

JOptionPane.showMessageDialog(f3,"请填写图书资料");

return;

}//进行图书添加

try

{

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

}//连接数据库

catch(ClassNotFoundExceptione)

{

System.out.println("加载驱动程序出错");

}

try

{

Stringdbuser = "sa";

String dbpwd= "123";

Stringurl="jdbc:sqlserver://localhost:1433;DatabaseName=student";

Connectioncon=DriverManager.getConnection(url,dbuser,dbpwd);

Statementsql;

Strings="insert into dbo.Table_bookvalues(‘"+tf1.getText()+"‘,‘"+tf2.getText()+"‘,‘"+tf3.getText()+"‘,‘"

+tf4.getText()+"‘,‘"+tf5.getText()+"‘,‘"+tf6.getText()+"‘);";

String query="select* from Table_book  where 图书号=‘"+tf2.getText()+"‘";

//查询功能

sql=con.createStatement();

ResultSetrs=sql.executeQuery(query);

booleanmoreRecords=rs.next();//以上数据库操作基本上一样

if(moreRecords)

{

JOptionPane.showMessageDialog(f3,"图书号已经被使用,请重新输入");

con.close();//判断图书号是否已经被用

tf2.setText("");//重置图书号

return;

}

intinsert=sql.executeUpdate(s);

if(insert==1)

{

20

JOptionPane.showMessageDialog(null,"图书信息录入成功!!!");

con.close();

tf1.setText("");

tf2.setText("");

tf3.setText("");

tf4.setText("");

tf5.setText("");

tf6.setText("");//更新数据库,并且重置六个文本框

}

}

catch(SQLException g)

{

System.out.println(g.getErrorCode());

System.out.println(g.getMessage());

}

}

@SuppressWarnings("deprecation")@Override

public void actionPerformed(ActionEvent e) {

Stringcmd=e.getActionCommand();

if(cmd.equals("确定"))

{

insertRecord();//匹配按钮事件,调用插入方法

}

elseif(cmd.equals("取消"))

{

f3.hide();//退出窗口

}

}

public static void main(String [] args)

{

newBookIn();

}

}

更改密码UpdateMima类

package pk;//代码注释与上面几个类的代码近似一样

import java.sql.*;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class UpdateMima extends JFrame implementsActionListener{

privatestatic final long serialVersionUID = 1L;

21

JFrame f;

Container cp;

JPanel jp1,jp2,jp3,jp4,jp,jpanelWest;

JButton jbt1,jbt2;

JLabel label;

JTextField name;

JPasswordField tf1,tf2,tf3;

JLabel label1,label2,label3,label4;

String sno;

UpdateMima(){}

UpdateMima(String username)

{

sno=username;

f=newJFrame("修改密码");

cp=f.getContentPane();

jp1=newJPanel();

jp2=newJPanel();

jp3=newJPanel();

jp4=newJPanel();

jpanelWest=newJPanel();

jp=newJPanel();

jbt1=newJButton("确定");

jbt2=newJButton("取消");

label=newJLabel("<html><font color=red size=‘4‘>"

+"修改密码<br><hr>请记住你的密码</font>",SwingConstants.CENTER);

label.setForeground(Color.gray);

name=newJTextField(10);

tf1=newJPasswordField(10);

tf2=newJPasswordField(10);

tf3=newJPasswordField(10);

jp1.add(jbt1);

jp1.add(jbt2);

JPaneljpanel=new JPanel();

jpanel.add(label);

JPanelpp4=new JPanel();

JPaneljpane4=new JPanel();

JPanelpp3=new JPanel();

cp.add(jpanel,"North");

JPanelpp2=new JPanel(new GridLayout(6,1,20,10));

pp4.setLayout(newGridLayout(6,1,20,10));

pp4.add(newJLabel("用户名: ",SwingConstants.RIGHT));

pp4.add(name);

22

pp4.add(new JLabel("原密码: ",SwingConstants.RIGHT));

pp4.add(tf1);

pp4.add(newJLabel("新密码: ",SwingConstants.RIGHT));

pp4.add(tf2);

pp4.add(newJLabel("确认密码: ",SwingConstants.RIGHT));

pp4.add(tf3);

pp4.add(newJLabel());

JPaneljpbutton=new JPanel();

jpbutton.add(jbt1);

jpbutton.add(jbt2);

pp3.add(jbt1);

pp3.add(jbt2);

pp2.add(jpbutton);

cp.add(pp4,"West");

cp.add(pp2,"Center");

cp.add(pp3,"South");

cp.add(jpane4,"East");

f.setSize(400,300);

f.setVisible(true);

jbt1.addActionListener(this);

jbt2.addActionListener(this);

}

@SuppressWarnings("deprecation")

public void upDateM()

{

try

{

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

}

catch(ClassNotFoundExceptione)

{

System.out.println("加载驱动程序出错");

}

try

{

Stringdbuser = "sa";

String dbpwd = "123";

Stringurl="jdbc:sqlserver://localhost:1433;DatabaseName=student";

Connectioncon=DriverManager.getConnection(url,dbuser,dbpwd);

Statementsql=con.createStatement();

Stringuname=name.getText().trim();

StringqueryMima="select *  from Table_userwhere 用户名=‘"+uname+"‘";

ResultSetrs=sql.executeQuery(queryMima);

23

if(rs.next())

{

StringnewMima=tf2.getText().trim();

Strings="update dbo.Table_user set 密码=‘"+newMima+"‘where用户名 =‘"+uname+"‘";

sql=con.createStatement();

intupdateMima=sql.executeUpdate(s);

if(updateMima==1)

{

JOptionPane.showMessageDialog(f,"密码修改成功!");

}

f.hide();

con.close();

}

else

{

JOptionPane.showMessageDialog(null,"该用户不存在","提示!",JOptionPane.YES_NO_CANCEL_OPTION);

}

name.setText("");

tf1.setText("");

tf2.setText("");

tf3.setText("");

}

catch(SQLExceptiong)

{

System.out.println(g.getErrorCode());

System.out.println(g.getMessage());

}

}

@SuppressWarnings("deprecation")

public void actionPerformed(ActionEvent e) {

Stringcmd=e.getActionCommand();

if(cmd.equals("确定"))

{

if(name.getText().equals("")||tf1.getText().equals("")||tf2.getText().equals("")||tf3.getText().equals(""))

{

JOptionPane.showMessageDialog(null,"请填写用户所有的信息","提示",JOptionPane.YES_NO_OPTION);

return;

}

24

if(tf2.getText().trim().equals(tf3.getText().trim()))

upDateM();

}

else if(cmd.equals("取消"))

{

f.hide();

}

}

public static void main(String []args )

{

newUpdateMima("");

}

}

删除图书RemoveBook类

package pk;//代码注释与上面几个类的代码近似一样

import java.sql.*;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class RemoveBook implements ActionListener{

JFrame f;

Container cp;

JPanel jpS,jpanelWest;

JButton jbt1,jbt2,jbt3;

JLabel label,L;

JTextField tf;

JTable table;

Object columnName[]={"图书名","图书号","单价","作者","出版社","入库时间"};

Object ar[][]=new Object[80][6];

String sno;

String count="0";

RemoveBook()

{

f=newJFrame("书籍是人类进步的阶梯!");

cp=f.getContentPane();

jpS=newJPanel();

jpanelWest=newJPanel();

jbt1=newJButton("查询");

jbt1.setBackground(Color.orange);

jbt2=newJButton("取消");

jbt2.setBackground(Color.magenta);

jbt3=newJButton("删除");

25

jbt3.setBackground(Color.LIGHT_GRAY);

label =newJLabel("<html><font color=yellow size=‘4‘>"

+"删除图书<br><hr>"

+"<html><font color=red size=‘4‘>请输入要删除的图书名:</font>",SwingConstants.CENTER);

label.setForeground(Color.blue);

L=newJLabel("该种图书共有"+count+"本");

table=newJTable(ar,columnName);

JScrollPanesrollpane=new JScrollPane(table);

tf=newJTextField(18);

jpS.add(jbt1);

jpS.add(jbt2);

jpS.add(jbt3);

JPaneljpanel=new JPanel();

jpanel.add(label);

jpanel.add(tf);

JPanelpp4=new JPanel();

JPaneljpE=new JPanel();

cp.add(jpanel,"North");

JPanelp=new JPanel();

p.setLayout(newBorderLayout());

p.add(L,"North");

p.add(srollpane);

cp.add(pp4,"West");

cp.add(p,"Center");

cp.add(jpS,"South");

cp.add(jpE,"East");

jpS.setBackground(Color.lightGray);

jpanelWest.setBackground(Color.lightGray);

jpanel.setBackground(Color.lightGray);

f.setSize(1000,600);

f.setVisible(true);

jbt1.addActionListener(this);

jbt2.addActionListener(this);

jbt3.addActionListener(this);

}

int i=0;

public void showRecord(String ql)

{

while(i>=0)

{

ar[i][0]="";

26

ar[i][1]="";

ar[i][2]="";

ar[i][3]="";

ar[i][4]="";

ar[i][5]="";

i--;

}

i=0;

try

{

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

}

catch(ClassNotFoundExceptione)

{

System.out.println("加载驱动程序出错");

}

try

{

String dbuser = "sa";

String dbpwd = "123";

Stringurl="jdbc:sqlserver://localhost:1433;DatabaseName=student";

Connectioncon=DriverManager.getConnection(url,dbuser,dbpwd);

Statement sql;

String s="select * from dbo.Table_bookwhere 图书名 =‘"+ql+"‘";

sql=con.createStatement();

ResultSet rs=sql.executeQuery(s);

while(rs.next())

{

Stringbname=rs.getString(1);

Stringbno=rs.getString(2);

Stringprice=rs.getString(3);

Stringwriter=rs.getString(4);

Stringpublish=rs.getString(5);

Stringindate=rs.getString(6);

ar[i][0]=bname;

ar[i][1]=bno;

ar[i][2]=price;

ar[i][3]=writer;

ar[i][4]=publish;

ar[i][5]=indate;

i++;}

27

count=""+i+"";

table=newJTable(ar,columnName);

L.setText("书库现有图书"+count+"本");

f.repaint();

con.close();

}

catch(SQLExceptiong)

{

System.out.println(g.getErrorCode());

System.out.println(g.getMessage());

}

}

public void deleteRecord(int ql)

{

try

{

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

}

catch(ClassNotFoundExceptione)

{

System.out.println("加载驱动程序出错");

}

try

{

Statementsql;

Stringurl="jdbc:sqlserver://localhost:1433;DatabaseName=student";

Connectioncon=DriverManager.getConnection(url);

Strings="delete * from dbo.Table_book where 图书名=‘"+ql+"‘";

sql=con.createStatement();

intdel=sql.executeUpdate(s);

if(del==1)

{

JOptionPane.showMessageDialog(null,"删除成功!","信息",JOptionPane.YES_NO_CANCEL_OPTION);

}

con.close();

f.repaint();

}

catch(SQLExceptiong)

{

System.out.println(g.getErrorCode());

System.out.println(g.getMessage());

}}

28

@SuppressWarnings("deprecation")

public void actionPerformed(ActionEvent e) {

Stringql="";

if(e.getSource()==jbt1)

{

ql=tf.getText().trim();

showRecord(ql);

}

if(e.getSource()==jbt3)

{

int  index=table.getSelectedRow();

if(index==-1)

{

JOptionPane.showMessageDialog(null,"请输入要删除的表格行","输入错误",JOptionPane.YES_NO_OPTION);

}

else

{

deleteRecord(index);

}

}

if(e.getSource()==jbt2)

{

f.hide();

}

}

public static void main(String []arg)

{

new RemoveBook();

}

}

查询图书QueryBook类

package pk;

import java.sql.*;//包含实现java程序与操作系统以及其他java程序之间进行数据交换的类

import java.awt.*;//包含创建用户界面与绘制图形的类

import java.awt.event.*;//事件处理所在的类

29

import javax.swing.*;//包含轻量级组件

//查询图书

public class QueryBook implements ActionListener{

/**

*

*/

//QueryBook类实现接口ActionListener

JFramef;//设置顶级窗口对象

Container cp;//容器对象

JPanel jpS,jpanelWest;//创建面板

JButton jbt1,jbt2,jbt3;//设置按钮

JLabel label,L;//创建标签

JTextField tf;//创建文本框

JTable table;

Object columnName[]={"图书名","图书号","单价","作者","出版社","入库时间"};

Object ar[][]=new Object [2000][6];

String sno;//创建表 与  数组

String count="0";

QueryBook()

{

f=newJFrame("书籍是人类进步的阶梯!");//设置标题

cp=f.getContentPane();//返回ContentPane内容

jpS=newJPanel();//创建面板jpS

jpanelWest= new JPanel();//创建面板jpanelWest

jbt1=newJButton("查询");

jbt1.setBackground(Color.lightGray);//创建按钮 设为查询 并且设置背景颜色

jbt2=newJButton("确定");

jbt2.setBackground(Color.lightGray);//创建按钮 设为确定 并且设置背景颜色

jbt3=newJButton("取消");

jbt3.setBackground(Color.lightGray);//创建按钮 设为取消 并且设置背景颜色

label=newJLabel("<html><font color=blue size=‘6‘>图书查询<br><hr>请输入图书名:</Font>",SwingConstants.CENTER);

label.setForeground(Color.gray);

//设置超级文本 设置颜色

L=newJLabel("该种图书共有"+count+"本");//添加标签,显示多少本书

table=newJTable(ar,columnName);//建立一个新的表

JScrollPanescrollpane =new JScrollPane(table);//建立一个滚动面板

tf=newJTextField(18);//设置文本框大小

jpS.add(jbt1);

jpS.add(jbt2);

jpS.add(jbt3);//按钮jbt1 jbt2  jbt3 添加到面板jpS

30

JPanel jpanel=new JPanel();

jpanel.add(label);

jpanel.add(tf);

JPanelpp4=new JPanel();

JPaneljpE=new JPanel();

cp.add(jpanel,"North");//面板添加到容器North

JPanelp=new JPanel();

p.setLayout(newBorderLayout());//面板为边界布局

p.add(L,"North");//标签为North方向

p.add(scrollpane);//面板添加滚动面板

cp.add(pp4,"West");

cp.add(p,"Center");

cp.add(jpS,"South");

cp.add(jpE,"East");//pp4->Westp->Center jpS->South jpE->East

jpS.setBackground(Color.lightGray);//设置面板背景颜色

jpanel.setBackground(Color.lightGray);//设置面板背景颜色

f.setSize(1000,550);//设置大小

f.setVisible(true);//设置可视化

jbt1.addActionListener(this);

jbt2.addActionListener(this);

jbt3.addActionListener(this);//按钮监听事件

}

int i=0;

public void showRecord(String ql)

{

while(i>=0)

{

ar[i][0]="";

ar[i][1]="";

ar[i][2]="";

ar[i][3]="";

ar[i][4]="";

ar[i][5]="";

i--;

}

i=0;

try

{

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

}

catch(ClassNotFoundExceptione)

{

System.out.println("加载驱动程序失败");}

31

try

{

Stringurl="jdbc:sqlserver://localhost:1433;DatabaseName=student";

Connectioncon=DriverManager.getConnection(url);

Statement sql;

String s="select * from dbo.Table_bookwhere 图书名 =‘"+ql+"‘";

sql=con.createStatement();

ResultSetrs=sql.executeQuery(s);

while(rs.next())

{

Stringbname=rs.getString(1);

Stringbno=rs.getString(2);

Stringprice=rs.getString(3);

Stringwriter=rs.getString(4);

Stringpublish=rs.getString(5);

Stringindate=rs.getString(6);

//定义图书名 图书号 价格 作者 出版社 出版日期

ar[i][0]=bname;

ar[i][1]=bno;

ar[i][2]=price;

ar[i][3]=writer;

ar[i][4]=publish;

ar[i][5]=indate;

i++;

}

count=""+i+"";

L.setText("书库现有该图书"+count+"本");

f.repaint();

con.close();

System.out.println(ar[0][1]);

}

catch(SQLExceptiong)

{

System.out.println(g.getErrorCode());

System.out.println(g.getMessage());

}

}

public void deleteRecord(int index)

{

try

{

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

32

}catch(ClassNotFoundExceptione)

{

System.out.println("加载驱动程序失败");

}

try

{

Stringdbuser = "sa";

String dbpwd = "123";

Stringurl="jdbc:sqlserver://localhost:1433;DatabaseName=student";

Connectioncon=DriverManager.getConnection(url,dbuser,dbpwd);

Statementsql;

Stringql=(String)(ar[index][1]);

Strings="delete * from Table_book  where 图书名 =‘"+ql+"‘";

sql=con.createStatement();

intdel=sql.executeUpdate(s);

if(del==1)

{

JOptionPane.showMessageDialog(null,"删除成功","信息",JOptionPane.YES_NO_CANCEL_OPTION);

}

con.close();

f.repaint();

}

catch(SQLException g)

{

System.out.println(g.getErrorCode());

System.out.println(g.getMessage());

}

}

@SuppressWarnings("deprecation")

public void actionPerformed(ActionEvent e)

{

Stringql="";

Stringcmd=e.getActionCommand();

if(cmd.equals("查询"))

{

ql=tf.getText().trim();

showRecord(ql);

}

if(cmd.equals("确定"))

33

{

System.exit(0);

}

if(cmd.equals("取消"))

f.hide();

}

public static void main(String []arg){

newQueryBook();

}

}

预览图书BookBrower类

package pk;

import java.sql.*;//包含实现java程序与操作系统以及其他java程序之间进行数据交换的类

import java.awt.*;//包含创建用户界面与绘制图形的类

import java.awt.event.*;//事件处理所在的类

import javax.swing.*;//包含轻量级组件

//预览图书

public class BookBrower implements ActionListener {

/**

*

*/

//预览图书 实现ActionListener接口

JFrame f;//设置顶级窗口对象

Container cp;//容器对象

JPanel jpS,jpanelWest;//设置面板

JButton jbt1,jbt2;//设置按钮

JLabel L,label;//设置标签

JTable table;//表对象

Object columnName[]={"书名","书号","单价","作者","出版社","入架时间"};

//设置一维数组

Object ar[][]=new Object[1000][6];//设置二维数组

String count="1000";

String sno;

BookBrower()

{

f=newJFrame("预览图书");//设置窗口标题

cp=f.getContentPane();//返回窗体的 contentPane对象

jpS=newJPanel();

jpanelWest=newJPanel();

JButtonjbt1 = new JButton("确定");//按钮添加确定

jbt1.setBackground(Color.lightGray);//设置按钮颜色

34

JButton jbt2=new JButton("返回");//按钮添加确定

jbt2.setBackground(Color.lightGray);//设置按钮颜色

label=newJLabel("<html><font color= blue size=‘6‘>&nbsp;"

+"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"+"预览图书<br><hr>立志宜思真品格,读书须尽真功夫--阮元</font>",SwingConstants.CENTER);

//设置超文本  颜色字体大小 &nbsp为空格符  放在窗口中间

L=newJLabel("图书库现有图书"+count+"本");//标签

table =newJTable(ar,columnName);

JScrollPanescrollpane=new JScrollPane(table);//滚动面板

jpS.add(jbt1);

jpS.add(jbt2);//按钮1  按钮2  添加到面板中

JPaneljpanel=new JPanel();

jpanel.add(label);//label添加到面板中

JPanelpp4=new JPanel();

JPaneljpE=new JPanel();

cp.add(jpanel,"North");//面板jpanel添加到容器North

JPanelp=new JPanel();

p.setLayout(newBorderLayout());//p设为为边界布局

p.add(L,"North");

p.add(scrollpane);

cp.add(pp4,"West");//pp4添加到West

cp.add(p,"Center");//p添加到Center

cp.add(jpS,"South");//jpS添加到South

cp.add(jpE,"East");//East添加到East

jpanel.setBackground(Color.LIGHT_GRAY);//设置背景颜色

jpS.setBackground(Color.LIGHT_GRAY);

jpanelWest.setBackground(Color.LIGHT_GRAY);

f.setSize(1000,600);//设置大小

f.setVisible(true);//设为可视化

jbt1.addActionListener(this);

jbt2.addActionListener(this);

}

int i=0;

public void showRecord()

{

while(i>=0)

{

ar[i][0]="";

ar[i][1]="";

ar[i][2]="";

ar[i][3]="";

ar[i][4]="";

35

ar[i][5]="";

i--;

}

i=0;

try

{

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

//连接数据库

}catch(ClassNotFoundExceptione)

{

System.out.println("加载驱动程序失败");//显示驱动加载异常

}

try

{

Stringdbuser = "sa";

Stringdbpwd = "123";

//存储于数据库中的用户名 密码

Stringurl="jdbc:sqlserver://localhost:1433;DatabaseName=student";

Connectioncon=DriverManager.getConnection(url,dbuser,dbpwd);

Strings="select * from dbo.Table_book ";//获取图书相关信息

Statementsql=con.createStatement();

ResultSetrs=sql.executeQuery(s);

while(rs.next())

{

Stringbname=rs.getString(1);

Stringbno=rs.getString(2);

Stringprice=rs.getString(3);

Stringwriter=rs.getString(4);

Stringpublish=rs.getString(5);

Stringindate=rs.getString(6);

ar[i][0]=bname;

ar[i][1]=bno;

ar[i][2]=price;

ar[i][3]=writer;

ar[i][4]=publish;

ar[i][5]=indate;

i++;

}

count=""+i+"";//计算存储于数据库中的图书数量

L.setText("书库现有图书"+count+"本");//显示标签信息

f.repaint();

con.close();}

36

catch(SQLExceptiong)

{

System.out.println(g.getErrorCode());

System.out.println(g.getMessage());

}

}

@SuppressWarnings("deprecation")

@Override

public void actionPerformed(ActionEvent e) {

Stringcmd=e.getActionCommand();

if(cmd.equals("确定"));

{

f.hide();//匹配确定按钮

}

if(cmd.equals("返回"));

{

f.hide();//匹配返回按钮

}

}

public static void main(String []arg)

{

BookBrowera=new BookBrower();

a.showRecord();//调用显示方法名

}

}

图书主界面Book类

package pk;

import java.sql.*;//包含实现java程序与操作系统以及其他java程序之间进行数据交换的类

import java.awt.*;//包含创建用户界面与绘制图形的类

import java.awt.event.*;//事件处理所在的类

import javax.swing.*;//包含轻量级组件

//预览图书

public class BookBrower implements ActionListener {

/**

*

*/

//预览图书 实现ActionListener接口

JFrame f;//设置顶级窗口对象

Container cp;//容器对象

JPanel jpS,jpanelWest;//设置面板

JButton jbt1,jbt2;//设置按钮

37

JLabel L,label;//设置标签

JTable table;//表对象

Object columnName[]={"书名","书号","单价","作者","出版社","入架时间"};

//设置一维数组

Object ar[][]=new Object[1000][6];//设置二维数组

String count="1000";

String sno;

BookBrower()

{

f=newJFrame("预览图书");//设置窗口标题

cp=f.getContentPane();//返回窗体的 contentPane对象

jpS=newJPanel();

jpanelWest=newJPanel();

JButtonjbt1 = new JButton("确定");//按钮添加确定

jbt1.setBackground(Color.lightGray);//设置按钮颜色

JButtonjbt2=new JButton("返回");//按钮添加确定

jbt2.setBackground(Color.lightGray);//设置按钮颜色

label=newJLabel("<html><font color= blue size=‘6‘>&nbsp;"

+"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"+"预览图书<br><hr>立志宜思真品格,读书须尽真功夫--阮元</font>",SwingConstants.CENTER);

//设置超文本  颜色字体大小 &nbsp为空格符  放在窗口中间

L=newJLabel("图书库现有图书"+count+"本");//标签

table =newJTable(ar,columnName);

JScrollPanescrollpane=new JScrollPane(table);//滚动面板

jpS.add(jbt1);

jpS.add(jbt2);//按钮1  按钮2  添加到面板中

JPaneljpanel=new JPanel();

jpanel.add(label);//label添加到面板中

JPanelpp4=new JPanel();

JPaneljpE=new JPanel();

cp.add(jpanel,"North");//面板jpanel添加到容器North

JPanelp=new JPanel();

p.setLayout(newBorderLayout());//p设为为边界布局

p.add(L,"North");

p.add(scrollpane);

cp.add(pp4,"West");//pp4添加到West

cp.add(p,"Center");//p添加到Center

cp.add(jpS,"South");//jpS添加到South

cp.add(jpE,"East");//East添加到East

jpanel.setBackground(Color.LIGHT_GRAY);//设置背景颜色

jpS.setBackground(Color.LIGHT_GRAY);

jpanelWest.setBackground(Color.LIGHT_GRAY);

38

f.setSize(1000, 600);//设置大小

f.setVisible(true);//设为可视化

jbt1.addActionListener(this);

jbt2.addActionListener(this);

}

int i=0;

public void showRecord()

{

while(i>=0)

{

ar[i][0]="";

ar[i][1]="";

ar[i][2]="";

ar[i][3]="";

ar[i][4]="";

ar[i][5]="";

i--;

}

i=0;

try

{

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

//连接数据库

}catch(ClassNotFoundExceptione)

{

System.out.println("加载驱动程序失败");//显示驱动加载异常

}

try

{

Stringdbuser = "sa";

Stringdbpwd = "123";

//存储于数据库中的用户名 密码

Stringurl="jdbc:sqlserver://localhost:1433;DatabaseName=student";

Connectioncon=DriverManager.getConnection(url,dbuser,dbpwd);

Strings="select * from dbo.Table_book ";//获取图书相关信息

Statementsql=con.createStatement();

ResultSetrs=sql.executeQuery(s);

while(rs.next())

{

Stringbname=rs.getString(1);

Stringbno=rs.getString(2);

Stringprice=rs.getString(3);

Stringwriter=rs.getString(4);

39

String publish=rs.getString(5);

Stringindate=rs.getString(6);

ar[i][0]=bname;

ar[i][1]=bno;

ar[i][2]=price;

ar[i][3]=writer;

ar[i][4]=publish;

ar[i][5]=indate;

i++;

}

count=""+i+"";//计算存储于数据库中的图书数量

L.setText("书库现有图书"+count+"本");//显示标签信息

f.repaint();

con.close();

}

catch(SQLExceptiong)

{

System.out.println(g.getErrorCode());

System.out.println(g.getMessage());

}

}

@SuppressWarnings("deprecation")

@Override

public void actionPerformed(ActionEvent e) {

Stringcmd=e.getActionCommand();

if(cmd.equals("确定"));

{

f.hide();//匹配确定按钮

}

if(cmd.equals("返回"));

{

f.hide();//匹配返回按钮

}

}

public static void main(String []arg)

{

BookBrowera=new BookBrower();

a.showRecord();//调用显示方法名

}

}

40

参考文献

[1]Java基础入门     清华大学出版社   传智播客高教产品研发部编著

[2]java编程思想     机械工业出版社   Bruce Eckel  著  陈昊鹏 译

[3]CSDN博客

[4]HTML5入门经典     机械工业出版社   刘欢 王雨竹 著

43

时间: 2024-10-14 18:57:03

java小系统 数据库 图书馆的相关文章

Java 小例子:图书馆课程设计(Java 8 版)

用 Java 模拟一个图书馆.包括创建图书.创建读者.借书.还书.列出所有图书.列出所有读者.列出已借出的图书.列出过期未还的图书等功能.每个读者最多只能借 3 本书,每个书最多只能借 3 个星期,超过就算过期. 这个例子跟 http://blog.csdn.net/yidinghe/article/details/3940437 相比,增加了 Java 8 特有的语法,包括:Lambda 表达式,java.time 日期 API,streaming API 等.功能也比前者稍微完善了些,体积有

Java小项目之:图书馆管理系统!有借有还再借不难!

Java小项目之:图书馆管理系统!今天给大家分享的java小项目是图书馆管理系统.这个图书馆管理系统是很完善的,包括书籍信息录入.借阅者信息.书籍类别添加.新书订购等等功能.和现实生活中的图书馆管理系统没什么两样,毫不夸张的说,你只要学会了今天我分享的这个小项目,以后自己创建一个图书馆管理系统是没一点问题的.按照惯例先上图: 部分代码展示:public class BookLoginIFrame extends JFrame { private class BookResetAction imp

Linux系统Java连接Mysql数据库

Linux系统下Java连接Mysql数据库方法与Windows下类似,具体步骤如下: 下载JDBC(驱动):mysql-connector-java-5.1.37.tar.gz 解压下载的数据包:tar -zxvf mysql-connector-java-5.1.37.tar.gz 解压后,mysql-connector-java-5.1.29-bin.jar位于mysql-connector-java-5.1.29目录下. 配置解压后,mysql-connector-java-5.1.29

Java小项目之:投票系统

Java小项目之:投票系统今天给大家带来的是java编写的投票小系统,代码简易,适合初学者练手!代码展示:package com.tarena.wgh.servlet; import java.io.IOException;import java.io.PrintWriter;import java.util.*; import javax.servlet.ServletContext;import javax.servlet.ServletException;import javax.serv

Java小项目之:在线测评考试系统

Java小项目之:在线测评考试系统,让你可以在家考科一!今天带来的java小项目是一套在线测评考试系统,题库是科目一的.不仅可以在家练练java技术,还可以边学习学习科目一,一举两得.界面介绍:开始.分数.考试规则.离开,四个选项.还有很多题库可以选择,可以私信我!代码展示:package service; import java.util.ArrayList; import java.util.List; import java.util.Random; import util.Config;

基于Bluemix快速构建部署一款Java小程序——微博影响力分析器

一.前言 近年来IT界风云际会,各种新概念如大数据.云平台.虚拟化等,如雨后春笋般层出不穷.而云平台,可以说是近些年来引领时代新潮的边缘概念之一,各大厂商竞相推出各种云产品,抢占云市场高地.近期,IT百年老厂IBM也推出了其花费重金打造的基于CloudFoundry开放标准的云平台Bluemix.本文就旨在从一位普通Java开发者角度,尝鲜Bluemix云平台及其提供的Cloudant服务,快速构建并部署一款Java小程序"微博影响力分析器". 二."微博影响力分析器&quo

Java连接MySQL数据库及简单操作代码

1.Java连接MySQL数据库 Java连接MySql需要下载JDBC驱动MySQL-connector-java-5.0.5.zip(举例,现有新版本).然后将其解压缩到任一目录.我是解压到D盘,然后将其目录下的MySQL-connector-java-5.0.5-bin.jar加到classpath里,具体如下: "我的电脑"-> "属性" -> "高级" -> "环境变量",在系统变量那里编辑clas

JAVA 访问MySQL数据库(使用方法及测试)

最近我们的JAVA课程讲到数据库,老师一直强调搭建数据库环境(JDBC)的重要性,刚好我的电脑前段时间重装过,也可以趁着这个机会再来回顾一遍JDBC的搭建. 说明:本文使用的JDBC框架是基于JAVA SE 1.8 & MySQL & Eclipse 工具下载: MySQL V5.5(x64) 64位 MySQL V5.5(x86) 32位 要根据你电脑的情况选择相应的MySQL版本.我的电脑是64位,所以本篇文章是使用64位讲解的,如果有同学在使用32位版本的时候出现问题的可以随时联系我

瓜果蔬菜这里查小系统

时间:2017年12月 阶段:大二上学期 背景:JAVA程序设计基础课设 名称:瓜果蔬菜这里查小系统(未删减版) 实现功能点 ①用户注册:检测账号的唯一性,并插入数据库 ②用户登入:防数据库注入问题 ③游客登入:权限限制,文字提示注册,以增加本系统用户量 ④找回密码:通过密匙找回,双重保险 ⑤身份与权限:游客,会员,管理员,三级身份 ⑥内容搜索:会员专属,可寻找喜欢的瓜果蔬菜图片和信息 ⑦用户管理:管理员可通过表格查询用户信息及删除更改用户信息 ⑧信息修改:用户可修改基本信息和安全信息 ⑨界面切