java图书管理系统实训报告.docx
- 文档编号:29700936
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:56
- 大小:371.91KB
java图书管理系统实训报告.docx
《java图书管理系统实训报告.docx》由会员分享,可在线阅读,更多相关《java图书管理系统实训报告.docx(56页珍藏版)》请在冰豆网上搜索。
java图书管理系统实训报告
北京联合大学
实验(实习、实训)报告
课程(项目)名称:
面向对象程序设计
学院:
师范学院专业:
计算机科学与技术
班级:
11计本1学号:
2011020332129
姓名:
张有金成绩:
2012年 12 月 27 日
一、任务与目的
1.Mysql建库、建表、添、删、改、查等操作及Sql语句。
2.Java与MYSql的JDBC连接;Java连接程序编写、JavaBean编写,数据库操作程序的编写。
3.Java图形界面的编写,面向对象程序设计(抽象、封装、继承、多态)的思想
二、功能模块的设计
1.数据库表设计
Mydata(数据库:
图书):
1、Survey(信息检索)
SurveyId
SurveyName
SurveyFamilyNumber
SurveySalary
整型
字符串
字符串
字符串
CREATETABLESurvey(
SurveyIdINTEGERAUTO_INCREMENT,
SurveyNameVARCHAR(50)NOTNULL,
SurveyFamilyNumberVARCHAR(50)NOTNULL,
SurveySalaryVARCHAR(50)NOTNULL,
PRIMARYKEY(SurveyId)
);
2、Card(会员卡)
CardId
CardName
CardNumber
整型
字符串
字符串
CREATETABLECard(
CardIdINTEGERAUTO_INCREMENT,
CardNameVARCHAR(50)NOTNULL,
CardNumberVARCHAR(50)NOTNULL,
PRIMARYKEY(CardId)
);
3、Book(书籍信息)
BookId
BookName
BookPrice
整型
字符串
字符串
CREATETABLEBook(
BookIdINTEGERAUTO_INCREMENT,
BookNameVARCHAR(50)NOTNULL,
BookPriceVARCHAR(50)NOTNULL,
PRIMARYKEY(BookId)
);
2.java数据库连接和添、删、改、查等操作的设计
Java访问数据库过程如下:
①装载数据库驱动;
②通过JDBC建立数据库连接;
③访问数据库,执行SQL语句;
④断开数据库连接;
数据库连接
packageDB;
importjava.sql.*;
importjavax.swing.JOptionPane;
//数据库连接类MySqlConnnection。
通过调用类的静态方法获得数据库连接。
publicabstractclassMySqlConnnection{
//私有空构造方法,保证本类不能够被实例化。
privateMySqlConnnection(){
}
//获得数据库连接
publicstaticConnectiongetConnection(){
Connectionconn=null;
try{
//加载MySQLJDBC驱动程序名称
Class.forName("org.gjt.mm.mysql.Driver");
//数据库连接参数。
StringserverName="localhost";//数据库主机名称
Stringmydatabase="mydata";//数据库名称
Stringurl="jdbc:
mysql:
//"+serverName+"/"+mydatabase;
Stringusername="root";//MySql用户名
Stringpassword="111111";//MySql密码
conn=DriverManager.getConnection(url,username,password);//建立连接
}catch(ClassNotFoundExceptione){
e.printStackTrace();//找不到MySql驱动程序类时,打印异常
}catch(SQLExceptione){
e.printStackTrace();//获得数据库连接发生异常
}
returnconn;
}
//关闭数据库连接
publicstaticvoidcloseConnection(Connectionconn){
if(conn!
=null){//连接是否有效
try{
if(!
conn.isClosed()){//连接是否已关闭
conn.close();//关闭连接
}
}catch(SQLExceptionex1){
ex1.printStackTrace();
}
}
}
//测试连接类
publicstaticvoidmain(String[]args)throwsException{
Connectionconn=MySqlConnnection.getConnection();
Stringresult="";
if(conn==null){
result="获得数据库连接错误.";
}else{
result="正常获得数据库连接."+conn;
}
JOptionPane.showMessageDialog(null,result);
}
}
1、DBBook
//增加
publicstaticvoidaddBook(Booka){
Connectionconn=null;
try{
conn=MySqlConnnection.getConnection();
PreparedStatementps=conn
.prepareStatement("INSERTINTOBook(BookName,BookPrice)VALUES(?
?
)");
ps.setString(1,MyEncode.GBtoISO(a.getBookName()));
ps.setString(2,a.getBookPrice());
ps.executeUpdate();
ps.close();
}catch(Exceptionex){
ex.printStackTrace();
}finally{
MySqlConnnection.closeConnection(conn);
}
}
//删除
publicstaticvoiddeleteBook(intid){
Connectionconn=null;
try{
conn=MySqlConnnection.getConnection();
PreparedStatementps=conn
.prepareStatement("DELETEFROMBookWHEREBookId=?
");
ps.setInt(1,id);
ps.executeUpdate();
ps.close();
}catch(Exceptionex){
ex.printStackTrace();
}finally{
MySqlConnnection.closeConnection(conn);
}
}
//修改
publicstaticvoidupdateBook(Booka){
Connectionconn=null;
try{
conn=MySqlConnnection.getConnection();
StringSql="UPDATEBookSETBookName=?
BookPrice=?
WHEREBookId=?
";
PreparedStatementps=conn.prepareStatement(Sql);
ps.setString(1,MyEncode.GBtoISO(a.getBookName()));
ps.setString(2,a.getBookPrice());
ps.setInt(3,a.getBookId());
ps.executeUpdate();
ps.close();
}catch(Exceptionex){
ex.printStackTrace();
}finally{
MySqlConnnection.closeConnection(conn);
}
}
//查询
publicstaticBookgetBook(intid){
Booka=null;
Connectionconn=null;
try{
conn=MySqlConnnection.getConnection();
PreparedStatementps=conn
.prepareStatement("SELECT*FROMBookWHEREBookId=?
");
ps.setInt(1,id);
ResultSetrs=ps.executeQuery();
if(rs.next()){
a=newBook(rs.getInt
(1),MyEncode.ISOtoGB(rs.getString
(2)),rs.getString(3));
}
ps.close();
}catch(Exceptionex){
ex.printStackTrace();
}finally{
MySqlConnnection.closeConnection(conn);
}
returna;
}
//查询所有记录
publicstaticIteratorgetAllBook(){
Listl=newArrayList();
Connectionconn=null;
try{
conn=MySqlConnnection.getConnection();
Statementstmt=conn.createStatement();
ResultSetrs=stmt.executeQuery("SELECT*FROMBook");
Strings=null;
while(rs.next()){
s=MyEncode.ISOtoGB(rs.getString
(2));
l.add(newBook(rs.getInt
(1),s,rs.getString(3)));
}
stmt.close();
}catch(Exceptionex){
ex.printStackTrace();
}finally{
MySqlConnnection.closeConnection(conn);
}
returnl.iterator();
}
publicstaticvoidmain(String[]args){
}
2、DBCard
//增加会员卡
publicstaticvoidaddCard(Carda){
Connectionconn=null;
try{
conn=MySqlConnnection.getConnection();
PreparedStatementps=conn
.prepareStatement("INSERTINTOCard(CardName,CardNumber)VALUES(?
?
)");
ps.setString(1,MyEncode.GBtoISO(a.getCardName()));
ps.setString(2,a.getCardNumber());
ps.executeUpdate();
ps.close();
}catch(Exceptionex){
ex.printStackTrace();
}finally{
MySqlConnnection.closeConnection(conn);
}
}
//删除会员卡
publicstaticvoiddeleteCard(intid){
Connectionconn=null;
try{
conn=MySqlConnnection.getConnection();
PreparedStatementps=conn
.prepareStatement("DELETEFROMCardWHERECardId=?
");
ps.setInt(1,id);
ps.executeUpdate();
ps.close();
}catch(Exceptionex){
ex.printStackTrace();
}finally{
MySqlConnnection.closeConnection(conn);
}
}
//修改会员卡
publicstaticvoidupdateCard(Carda){
Connectionconn=null;
try{
conn=MySqlConnnection.getConnection();
StringSql="UPDATECardSETCardName=?
CardNumber=?
WHERECardId=?
";
PreparedStatementps=conn.prepareStatement(Sql);
ps.setString(1,MyEncode.GBtoISO(a.getCardName()));
ps.setString(2,a.getCardNumber());
ps.setInt(3,a.getCardId());
ps.executeUpdate();
ps.close();
}catch(Exceptionex){
ex.printStackTrace();
}finally{
MySqlConnnection.closeConnection(conn);
}
}
//查询会员卡
publicstaticCardgetCard(intid){
Carda=null;
Connectionconn=null;
try{
conn=MySqlConnnection.getConnection();
PreparedStatementps=conn
.prepareStatement("SELECT*FROMCardWHERECardId=?
");
ps.setInt(1,id);
ResultSetrs=ps.executeQuery();
if(rs.next()){
a=newCard(rs.getInt
(1),MyEncode.ISOtoGB(rs.getString
(2)),rs.getString(3));
}
ps.close();
}catch(Exceptionex){
ex.printStackTrace();
}finally{
MySqlConnnection.closeConnection(conn);
}
returna;
}
//查询所有会员卡
publicstaticIteratorgetAllCard(){
Listl=newArrayList();
Connectionconn=null;
try{
conn=MySqlConnnection.getConnection();
Statementstmt=conn.createStatement();
ResultSetrs=stmt.executeQuery("SELECT*FROMCard");
Strings=null;
while(rs.next()){
s=MyEncode.ISOtoGB(rs.getString
(2));
l.add(newCard(rs.getInt
(1),s,rs.getString(3)));
}
stmt.close();
}catch(Exceptionex){
ex.printStackTrace();
}finally{
MySqlConnnection.closeConnection(conn);
}
returnl.iterator();
}
publicstaticvoidmain(String[]args){
}
}
3、DBSurvey
//增加
publicstaticvoidaddSurvey(Surveya){
Connectionconn=null;
try{
conn=MySqlConnnection.getConnection();
PreparedStatementps=conn
.prepareStatement("INSERTINTOSurvey(SurveyName,SurveyFamilyNumber,SurveySalary)VALUES(?
?
?
)");
ps.setString(1,MyEncode.GBtoISO(a.getSurveyName()));
ps.setString(2,a.getSurveyFamilyNumber());
ps.setString(3,a.getSurveySalary());
ps.executeUpdate();
ps.close();
}catch(Exceptionex){
ex.printStackTrace();
}finally{
MySqlConnnection.closeConnection(conn);
}
}
//删除
publicstaticvoiddeleteSurvey(intid){
Connectionconn=null;
try{
conn=MySqlConnnection.getConnection();
PreparedStatementps=conn
.prepareStatement("DELETEFROMSurveyWHERESurveyId=?
");
ps.setInt(1,id);
ps.executeUpdate();
ps.close();
}catch(Exceptionex){
ex.printStackTrace();
}finally{
MySqlConnnection.closeConnection(conn);
}
}
//修改
publicstaticvoidupdateSurvey(Surveya){
Connectionconn=null;
try{
conn=MySqlConnnection.getConnection();
StringSql="UPDATESurveySETSurveyName=?
SurveyFamilyNumber=?
SurveySalary=?
WHERESurveyId=?
";
PreparedStatementps=conn.prepareStatement(Sql);
ps.setString(1,MyEncode.GBtoISO(a.getSurveyName()));
ps.setString(2,a.getSurveyFamilyNumber());
ps.setString(3,a.getSurveySalary());
ps.setInt(4,a.getSurveyId());
ps.executeUpdate();
ps.close();
}catch(Exceptionex){
ex.printStackTrace();
}finally{
MySqlConnnection.closeConnection(conn);
}
}
//查询
publicstaticSurveygetSurvey(intid){
Surveya=null;
Connectionconn=null;
try{
conn=MySqlConnnection.getConnection();//获得数据连接
//建立PreparedStatement用于执行SQL操作
PreparedStatementps=conn
.prepareStatement("SELECT*FROMSurveyWHERESurveyId=?
");
ps.setInt(1,id);//设置第
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 图书 管理 系统 报告