📄 accountmanagedaoimple.java
字号:
package com.rjxy.virtualatm.dao;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.rjxy.virtualatm.model.Account;
/**
*
* @author 王绍科
* @version 1.0
* @since 2007/10/31
* 这里定义一个接口实现类,提供了操作一个帐户的增删查改方法的一种实现方式
*
*/
public class AccountManageDAOImple implements AccountManageDAO{
//开户
/**
* @return boolean true--成功 false--失败
*/
public boolean addAccount(Account account){
String aid=account.getAid();
String sql="select count(*) as count from account";
Connection conn=DBConnection.getConnection();
long currAid=0;
try {
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery(sql);
if(rs.next()){
if(aid==null||"".equals(aid)){//定义程序中的主键生成策略
long count=Long.parseLong(rs.getString("count"));
currAid=1000000000+count;//新增时使用
}
else
currAid=Long.parseLong(aid);//修改时使用
}
} catch (SQLException e) {
e.printStackTrace();
return false;
}
DBConnection.freeConnection(conn);//释放链接
Account tempa=queryAccount(currAid+"");
while(tempa!=null){
currAid+=1;
tempa=queryAccount(currAid+"");
}
String sqladd="insert into account values('"+currAid+"','"+account.getCid()+"','"+account.getName()+"','"+account.getKind()+"','"+account.getPassword()+"',"+account.getMoney()+")";
try{
Statement stmt=conn.createStatement();
stmt.executeQuery(sqladd);
return true;
}catch(SQLException e)
{
e.printStackTrace();
System.out.println("删除账号失败");
return false;
}
// if(SQLExcMch.excInsertOrUpdateOrDel(sqladd)==1){
// if(aid==null||"".equals(aid))
// System.out.println(new Date()+":"+currAid+"开户成功!");
// return true;
// }
// else{
// System.out.println(new Date()+":"+currAid+"开户失败!");
// return false;
// }
}
//修改帐户信息,如修改密码,余额等
/**
* @param account 包含最新信息的账户对象
* @return boolean true--成功 false--失败
*/
public boolean modifyAccount(Account account){
Account tempAccount=queryAccount(account.getAid());
if(tempAccount==null)
return false;
else{
boolean flag1=deleteAccount(account.getAid());
boolean flag2=addAccount(account);
if(flag1&&flag2){
System.out.println(new Date()+":"+account.getAid()+"修改成功!");
return true;
}
else {
System.out.println("数据库发生操作异常,请查看日志恢复!!!");//这里应该使用事务,这里只是示范,没有那么做
return false;
}
}
}
//查询帐户信息
/**
* @param aid 帐号
* @return Account 根据当前主键返回一个帐户对象
*/
public Account queryAccount(String aid){
Connection conn=DBConnection.getConnection();
String sql="select * from account where aid='"+aid+"'";
Account account=null;
try {
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery(sql);
if(rs.next()){
account=new Account();
//String aid=rs.getString("aid");
String cid=rs.getString("cid");
String name=rs.getString("name");
String kind=rs.getString("kind");
String password=rs.getString("password");
long money=rs.getLong("money");
account.setAid(aid);
account.setCid(cid);
account.setName(name);
account.setKind(kind);
account.setPassword(password);
account.setMoney(money);
}
} catch (SQLException e) {
e.printStackTrace();
}
DBConnection.freeConnection(conn);//释放链接
return account;
}
//销户
/**
* @param aid 帐号
* @return boolean true--成功 false--失败
*/
public boolean deleteAccount(String aid){
Connection conn=DBConnection.getConnection();
String sql="delete from account where aid='"+aid+"'";
try{
Statement stmt=conn.createStatement();
stmt.executeQuery(sql);
System.out.println(new Date()+":"+aid+"销户成功!");
return true;
}catch(SQLException e)
{
e.printStackTrace();
System.out.println("删除数据库数据失败!销户失败!");
return false;
}
}
//根据身份证号码查询该人的所有帐户
/**
* @param cid 身份证号码
* @return java.util.List 封装了该人的所有帐户
*/
public List getAccountByCid(String cid){
List accounts=new ArrayList();
Connection conn=DBConnection.getConnection();
String sql="select * from account where cid='"+cid+"'";
try {
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){
Account account=new Account();
String aid=rs.getString("aid");
//String cid=rs.getString("cid");
String name=rs.getString("name");
String kind=rs.getString("kind");
String password=rs.getString("password");
long money=rs.getLong("money");
account.setAid(aid);
account.setCid(cid);
account.setName(name);
account.setKind(kind);
account.setPassword(password);
account.setMoney(money);
accounts.add(account);
}
} catch (SQLException e) {
e.printStackTrace();
}
DBConnection.freeConnection(conn);//释放链接
return accounts;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -