Java设计的银行取款系统-Mysql数据库(改进篇)2017/7/16

本文是作者对之前银行取款系统的一次改进,重点在于增强性能和安全性。通过引入DBUtils工具类简化了DAO层的数据库操作,提高了代码的可读性和复用性。同时,采用了C3P0数据库连接池以优化性能,避免频繁创建和关闭连接。此外,通过关闭事务自动提交并利用ThreadLocal确保线程安全,防止数据误操作。
摘要由CSDN通过智能技术生成

前言


这是前一篇http://blog.csdn.net/u011958281/article/details/73499642博文,没有想到会有那么多读者,初次编写,为了实现功能,牺牲了很多,最近经过一轮学习,有了一点新的想法,结合学习,特此分享ATM加强版,改进篇主要是加强性能安全,针对代码的优化,代码解耦度更好,更具可读性,功能化分的更好。

这里写图片描述


这里写图片描述

代码的清晰度更好,直观性更强,这里可以看一下我的这片博文,JavaWEB分层设计思想模式http://blog.csdn.net/u011958281/article/details/74156940
作者也是通过学习,不断的规范自己的代码分类,可能写起来多了工作,多了划分,但是整体可读性更强,后期代码的复用率也是对于整体很看重的。

1. 代码解析与分析改进

  • DAO接口
package com.shao.DAO;

import java.sql.SQLException;

import com.shao.model.user;

public interface accountDAO {
   
    /**
     * 登录检验
     * @param name
     * @param password
     * @return
     * @throws SQLException 
     */
    public  user query(String name,String password) throws SQLException;

    /**
     * 添加账户
     * @throws SQLException 
     */
    public void addUser(String name,String password) throws SQLException;

    /**
     * 更新用户账户信息
     * @throws SQLException 
     */
    public void updateAccount(String FromName,String ToName,double balance) throws SQLException;

    /**
     * 查询账户
     * @param name
     * @return
     * @throws SQLException 
     */
   public user findUserByName(String name) throws SQLException;


}
  • DAO接口实现层
package com.shao.DAO.impl;

import java.sql.SQLException;

import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;

import com.shao.DAO.accountDAO;
import com.shao.model.user;
import com.shao.util.C3P0Util;
import com.shao.util.ManagerThreadLocal;
public class accountDAO_impl implements accountDAO{
   

    @Override
    public user query(String name, String password) throws SQLException {
        // TODO Auto-generated method stub
        QueryRunner qr = new QueryRunner();
        return qr.query(ManagerThreadLocal.getConne
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值