Java web程序设计转账系统设计完整功能版.docx

上传人:b****6 文档编号:8783126 上传时间:2023-02-01 格式:DOCX 页数:18 大小:50.26KB
下载 相关 举报
Java web程序设计转账系统设计完整功能版.docx_第1页
第1页 / 共18页
Java web程序设计转账系统设计完整功能版.docx_第2页
第2页 / 共18页
Java web程序设计转账系统设计完整功能版.docx_第3页
第3页 / 共18页
Java web程序设计转账系统设计完整功能版.docx_第4页
第4页 / 共18页
Java web程序设计转账系统设计完整功能版.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

Java web程序设计转账系统设计完整功能版.docx

《Java web程序设计转账系统设计完整功能版.docx》由会员分享,可在线阅读,更多相关《Java web程序设计转账系统设计完整功能版.docx(18页珍藏版)》请在冰豆网上搜索。

Java web程序设计转账系统设计完整功能版.docx

Javaweb程序设计转账系统设计完整功能版

账户系统设计

Java Web程序设计实例——JDBC设计

工程视图

packageamountException;

publicclassamountExceptionextendsException{

/**

*

*/

privatestaticfinallongserialVersionUID=1L;

publicamountException(Exceptione){

super(e);

}

publicamountException(Stringe){

super(e);

}

}

packagedao;

importjava.sql.SQLException;

importjava.util.List;

importamountException.amountException;

importpojo.amount;

 

publicinterfaceamountDao{

//查找指定条件的账户

ListfindAmountsByCondition(StringsqlCondition,Listvalues)throwsamountException;

//删除指定账户名

voiddeleteAmount(StringamountName)throwsamountException;

//保存账户到账户表中

intsaveAmount(amountamount)throwsamountException;

//把amount中的钱改变money,如果money为正数表示加钱,否则表示减钱

voidchangMoney(amountamount,intmoney)throwsamountException;

voidClose();

}

 

packagedao;

importjava.sql.*;

importjava.util.List;

importutil.connectionFactory;

importamountException.amountException;;

publicclassDBtemplate{

protectedConnectionconn;

protectedPreparedStatementpres;

protectedResultSetrs;

protectedStatementstam;

publicDBtemplate(Connectionconn){

super();

this.conn=conn;

}

publicvoidcloseAll(){

closeAll(rs,pres,conn);

}

publicvoidcloseAll(ResultSetrs,PreparedStatementpres,Connectionconn){

if(rs!

=null)

try{

rs.close();

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

if(pres!

=null)

try{

pres.close();

}catch(SQLExceptione){

e.printStackTrace();

}

if(conn!

=null)

try{

conn.close();

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

}

publicvoidcloseAll(ResultSetrs,Statementpres,Connectionconn){

if(rs!

=null)

try{

rs.close();

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

if(pres!

=null)

try{

pres.close();

}catch(SQLExceptione){

e.printStackTrace();

}

if(conn!

=null)

try{

conn.close();

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

}

protectedResultSetexecuteQuery(Stringsql,Listvalues)throwsamountException{

initPreparedStatement(sql,values);

/*System.out.print(values);*/

try{

returnpres.executeQuery();//

}catch(SQLExceptione){

thrownewamountException(e);

}

}

privatevoidinitPreparedStatement(Stringsql,Listvalues)throwsamountException{

try{

pres=conn.prepareStatement(sql);

inti=1;

for(Objecto:

values){

/*System.out.print(o);*/

pres.setObject(i,o);

i++;

}

}catch(SQLExceptione){

thrownewamountException(e);

}

}

protectedintexecuteUpdate(Stringsql,Listvalues)throwsamountException{

intcount=-1;

/*System.out.print(values);

System.out.println(sql);*/

try{

initPreparedStatement(sql,values);//初始化预处理语句对象

count=pres.executeUpdate();

/*System.out.print(count);*/

}catch(Exceptione){

thrownewamountException(e);

}

finally{

closeAll(null,pres,null);

}

returncount;

}

protectedvoidexecuteUpdate(Stringsql){

/*conn=connectionFactory.getConnection();*///如果再次声明连接对象,则覆盖了传过来的连接对象

try{

stam=conn.createStatement();//不适合用于业务dao的处理,因为需要本对象自己提交

inti=stam.executeUpdate(sql);

/*mit();*/

if(i==0){

System.out.print("\n操作失败!

"+i);

}else{

System.out.print("\n操作成功!

"+i);

}

}catch(SQLExceptione1){

//TODOAuto-generatedcatchblock

e1.printStackTrace();

}finally{

/*closeAll(null,stam,conn);*/

}

}

}

 

packagedao.impl;

importjava.sql.Connection;

importjava.sql.SQLException;

importjava.sql.Statement;

importjava.util.ArrayList;

importjava.util.List;

importamountException.amountException;

importpojo.amount;

importutil.connectionFactory;

importdao.DBtemplate;

importdao.amountDao;

publicclassamountDaoImplextendsDBtemplateimplementsamountDao{

publicamountDaoImpl(Connectionconn){

super(conn);//TODOAuto-generatedconstructorstub

}

 

@Override

publicvoidClose(){

//TODOAuto-generatedmethodstub

}

@Override

publicvoidchangMoney(amountamount,intmoney)throwsamountException{

//TODOAuto-generatedmethodstub

Stringsql="updateamountsetmoney=money+";

Stringname=amount.getName();

sql=sql+money+"wherename="+name;

System.out.print(sql);

executeUpdate(sql);

/*if(money>0){

}else{

}*/

}

@Override

publicvoiddeleteAmount(StringamountName)throwsamountException{

//TODOAuto-generatedmethodstub

Stringsql="deletefromamount";

if(amountName!

=null&&!

"".equals(amountName)){

sql=sql+"where"+amountName;

}

System.out.print(sql);

executeUpdate(sql);

/*conn=connectionFactory.getConnection();

try{

stam=conn.createStatement();

inti=stam.executeUpdate(sql);

mit();

System.out.print(i);

}catch(SQLExceptione1){

//TODOAuto-generatedcatchblock

e1.printStackTrace();

}

*/

}

@Override

publicListfindAmountsByCondition(StringsqlCondition,

Listvalues)throwsamountException{

//TODOAuto-generatedmethodstub

Stringsql="selectname,moneyfromamount";

if(sqlCondition!

=null&&!

"".equals(sqlCondition)){

sql=sql+"where"+sqlCondition;

}

System.out.print(sql);

rs=executeQuery(sql,values);

/*Statementstam=null;

Connectionconn=connectionFactory.getConnection();

try{

stam=conn.createStatement();

rs=stam.executeQuery(sql);

}catch(SQLExceptione1){

//TODOAuto-generatedcatchblock

e1.printStackTrace();

}*/

Listamounts=newArrayList();//建立集合对象

amountam=null;

try{

while(rs.next()){

am=newamount();

/*System.out.print("rs.next()="+rs.next());*/

/*System.out.print(rs.getString("name"));*/

am.setName(rs.getString("name"));

am.setMoney(rs.getInt("money"));

amounts.add(am);

}

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

returnamounts;

}

@Override

publicintsaveAmount(amountam)throwsamountException{

StringsqlPre="insertintoamount(";//TODOAuto-generatedmethodstub

StringsqlTail="values(";

/*Listvalue=newArrayList();*/

Listvalues=newArrayList();

if(am.getName()!

=null&&!

"".equals(am.getName())){

sqlPre=sqlPre+"name,money,";

/*System.out.print(sqlPre);*/

sqlTail=sqlTail+"?

?

";

/*System.out.print(sqlTail);*/

values.add(am.getName());

values.add(am.getMoney());

}

sqlPre=sqlPre.substring(0,sqlPre.length()-1)+")";

sqlTail=sqlTail.substring(0,sqlTail.length()-1)+")";

Stringsql=sqlPre+sqlTail;

/*System.out.print(values);*/

/*System.out.println(sql);*/

returnexecuteUpdate(sql,values);

}

}

 

packagepojo;

publicclassamount{

privateStringname;

privateintmoney;

publicStringgetName(){

returnname;

}

publicvoidsetName(Stringname){

this.name=name;

}

publicintgetMoney(){

returnmoney;

}

publicvoidsetMoney(intmoney){

this.money=money;

}}

 

packagetest;

importjava.sql.Connection;

importjava.sql.SQLException;

importdao.amountDao;

/*importdao.studentDao;*/

importdao.impl.amountDaoImpl;

/*importdao.impl.studentDaoImpl;*/

importpojo.amount;

importutil.connectionFactory;

publicclassaccountDemoSaveTest{

publicstaticvoidmain(String[]args){

amountam=newamount();

am.setName("813");

am.setMoney(6000);

Connectionconn=null;//此语句必须首先声明,否者下面的conn无法使用;

try{

conn=connectionFactory.getConnection();

/*System.out.print(conn);*/

amountDaoamdao=newamountDaoImpl(conn);

inti=amdao.saveAmount(am);//保存账户对象am;

System.out.print("保存成功oK!

"+i);

mit();//手动提交

}catch(Exceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

try{

conn.rollback();

}catch(SQLExceptione2){

//TODOAuto-generatedcatchblock

e2.printStackTrace();

}

try{

conn.rollback();

}catch(SQLExceptione1){

//TODOAuto-generatedcatchblock

e1.printStackTrace();

}

}

finally{

if(conn!

=null)

try{

conn.close();

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

}

}

}

 

packagetest;

importjava.sql.Connection;

importjava.sql.SQLException;

importamountException.amountException;

importdao.amountDao;

importdao.impl.amountDaoImpl;

importpojo.amount;

importutil.connectionFactory;

publicclassamountDaoChangeTest{

/**

*@paramargs

*/

publicstaticvoidmain(String[]args){

//TODOAuto-generatedmethodstub

amountam=newamount();

am.setName("814");

am.setMoney(500);//正数为加钱,负数为减钱

Connectionconn=null;

conn=connectionFactory.getConnection();

amountDaoamDao=newamountDaoImpl(conn);

try{

amDao.changMoney(am,am.getMoney());

try{

mit();

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

try{

conn.rollback();

}catch(SQLExceptione1){

//TODOAuto-generatedcatchblock

e1.printStackTrace();

}

}

}catch(amountExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

if(conn!

=null){

try{

conn.close();

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

}

}

}

 

packagetest;

importjava.sql.Connection;

importjava.sql.SQLException;

importamountException.amountException;

importdao.amountDao;

importdao.impl.amountDa

展开阅读全文
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1