⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 accountmanagedaoimple.java

📁 用myelcipse写的一个虚拟的银行ATM取款机的源代码。希望对大家有帮助
💻 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 + -