代码火车票预订系统的设计与实现.docx
《代码火车票预订系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《代码火车票预订系统的设计与实现.docx(41页珍藏版)》请在冰豆网上搜索。
代码火车票预订系统的设计与实现
第一部分内部功能代码
1.DBO。
java
packagecom.util;
importjava。
sql。
*;
importjava.sql.DriverManager;
importjava。
sql.ResultSet;
importjava。
sql。
SQLException;
importjavax.activation。
DataSource;
importjava.sql.*;
importjava。
sql。
DriverManager;
importjava。
sql.ResultSet;
importjava。
sql.SQLException;
importjava.sql.Statement;
importjavax。
naming。
Context;
importjavax.naming.InitialContext;
publicclassDBO{
privateConnectionconn;
privateStatementstmt;
privateDataSourceds;
publicDBO(){
}
/**
打开数据库
*/
publicvoidopen(){
try{
Class。
forName(”org。
gjt。
mm.mysql.Driver”);
conn=DriverManager.getConnection("jdbc:
mysql:
//localhost:
3306/cpyd?
user=root&password=siming&useUnicode=true&characterEncoding=GBK”);
stmt=conn.createStatement();
System。
out.println(”打开数据库连接");
}
catch(Exceptionex){
System.err.println(”打开数据库时出错:
"+ex.getMessage());
}
}
/**
关闭数据库,将连接返还给连接池
*/
publicvoidclose(){
try{
//connMgr。
freeConnection("java",conn);
conn。
close();
System。
out。
println(”释放连接”);
}
catch(SQLExceptionex){
System。
err.println(”返还连接池出错:
"+ex。
getMessage());
}
}
/**
执行查询
*/
publicResultSetexecuteQuery(Stringsql)throwsSQLException{
ResultSetrs=null;
rs=stmt。
executeQuery(sql);
System。
out.println(”执行查询");
returnrs;
}
/**
执行增删改
*/
publicintexecuteUpdate(Stringsql)throwsSQLException{
intret=0;
ret=stmt。
executeUpdate(sql);
System。
out。
println(”执行增删改”);
returnret;
}
/**
将SQL语句加入到批处理
*/
publicvoidaddBatch(Stringsql)throwsSQLException{
stmt。
addBatch(sql);
}
/**
执行批处理
*/
publicint[]executeBatch()throwsSQLException{
booleanisAuto=conn。
getAutoCommit();
conn.setAutoCommit(false);
int[]updateCounts=stmt。
executeBatch();
//conn。
commit();
//conn。
setAutoCommit(isAuto);
//conn。
setAutoCommit(true);
returnupdateCounts;
}
publicbooleangetAutoCommit()throwsSQLException{
returnconn.getAutoCommit();
}
publicvoidsetAutoCommit(booleanauto)throwsSQLException{
conn.setAutoCommit(auto);
}
publicvoidcommit()throwsSQLException{
conn。
commit();
//this。
close();
}
publicvoidrollBack()throwsSQLException{
conn。
rollback();
//this.close();
}
}
2.Log.java
packagecom.util;
/**
*日志
*/
importjava。
io。
BufferedWriter;
importjava.io.File;
importjava.io。
FileNotFoundException;
importjava.io。
FileWriter;
importjava.io。
IOException;
importjava。
io。
PrintWriter;
publicclassLog{
publicvoidaddLog(Stringstr){
try{
Filefile=newFile("c:
//log.txt”);
FileWriterfw=newFileWriter(file,true);
BufferedWriterbw=newBufferedWriter(fw);
PrintWriterpw=newPrintWriter(bw);
pw.write(str);
bw。
newLine();//断行
bw。
flush();//将数据更新至文件
pw。
close();
fw。
close();//关闭文件流
}catch(FileNotFoundExceptione){
System。
out。
println("警告:
日志文件没找到!
!
!
!
”);
e。
printStackTrace();
}catch(IOExceptione){
System。
out.println("警告:
日志文件IO错误!
!
!
!
");
e。
printStackTrace();
}
}
}
3.MD5。
java
packagecom.util;
/**
*MD5密码加密类
*
*/
importjava.security.*;
importjava。
security.spec。
*;
publicfinalclassMD5{
publicfinalstaticStringMD5(Strings){
charhexDigits[]={
’0’,'1',’2','3’,’4',’5','6','7',’8’,'9’,'a’,’b','c’,'d’,
’e',’f'};
try{
byte[]strTemp=s.getBytes();
MessageDigestmdTemp=MessageDigest。
getInstance(”MD5”);
mdTemp.update(strTemp);
byte[]md=mdTemp。
digest();
intj=md。
length;
charstr[]=newchar[j*2];
intk=0;
for(inti=0;i〈j;i++){
bytebyte0=md[i];
str[k++]=hexDigits[byte0>>〉4&0xf];
str[k++]=hexDigits[byte0&0xf];
}
returnnewString(str);
}
catch(Exceptione){
returnnull;
}
}
}
4.Common.java
packagecom.util;
/**
*常用方法类
*/
importjava。
text。
SimpleDateFormat;
importjava。
util.Calendar;
importjava.util。
Date;
publicfinalclassCommon{
////////////字符串HTML转换
publicstaticStringturn(Stringstr){
while(str.indexOf("\n")!
=—1){
str=str。
substring(0,str。
indexOf(”\n"))+"
"
+str。
substring(str.indexOf("\n")+1);
}
while(str.indexOf(”")!
=-1){
str=str.substring(0,str.indexOf("”))+" ”
+str.substring(str.indexOf("")+1);
}
returnstr;
}
/////////////返回日期当前日期传入0一年之前传入-1三年后传入3
publicstaticStringgetDate(intnum){
SimpleDateFormatdf=newSimpleDateFormat("yyyy-MM—dd");
Calendarc=Calendar。
getInstance();
c。
add(Calendar。
YEAR,num);
returndf.format(c.getTime());
}
/////////////数据库输出字符串的过滤
publicstaticStringSQLStr(Stringstr){
if(str!
=null&&str。
length()〉1&&str。
substring(0,1).equals("?
”)){
str=str.substring
(1);
}
if(str==null||str。
equals(”")||str。
equals("”)){
str=" ”;
}
returnstr;
}
///////