- 浏览: 143179 次
- 性别:
- 来自: 浙江
文章分类
最新评论
-
bnmnba:
bnmnba 写道bnmnba 写道 三个文件的学习学习。这么 ...
linux下C/C++ 入门hello world(转) -
bnmnba:
bnmnba 写道 三个文件的学习学习。这么写:#includ ...
linux下C/C++ 入门hello world(转) -
bnmnba:
三个文件的学习学习。
linux下C/C++ 入门hello world(转) -
fcmfcm01:
个人觉得没什么必要,控制访问权限完全可以由方法来实现,就像ja ...
C#中属性和字段的区别和联系<转载> -
eagledame:
很详细 谢谢了~
JAVA IO流的老师小结
//1 public interface IAccountService { /*增加账户,删除账户,查询余额,存款,取款,转帐*/ public void createAccount(Account act); public void removeAccount(String actNo); public double getBal(String actNo); public void deposite(String actNo,double amount); public void withdraw(String actNo,double amount); public void transfer(String from ,String to, double amount); } //2 public class Account { private String actNo; private double bal; public void deposite(double amount){ bal = bal + amount; } public void withdraw(double amount){ bal = bal - amount; } public Account(String actNo, double bal) { super(); this.actNo = actNo; this.bal = bal; } public String getActNo() { return actNo; } public void setActNo(String actNo) { this.actNo = actNo; } public double getBal() { return bal; } public void setBal(double bal) { this.bal = bal; } } //3 public interface IAccountDAO { public void insert(Account act,Connection con) throws DataException; public void del(String actNo,Connection con) throws DataException; public void update(Account act, Connection con) throws DataException; public Account findAccountByActNo(String actNo,Connection con) throws DataException; } //4 public class DataException extends Exception { public DataException() { // TODO Auto-generated constructor stub } public DataException(String message) { super(message); // TODO Auto-generated constructor stub } public DataException(Throwable cause) { super(cause); // TODO Auto-generated constructor stub } public DataException(String message, Throwable cause) { super(message, cause); // TODO Auto-generated constructor stub } } //5 public class AccountServiceJdbcImpl implements IAccountService { private IAccountDAO dao = AccountDAOFactory.getDAO(); public void createAccount(Account act) { Connection con = null; try { con = JdbcUtil.getConnection(); con.setAutoCommit(false); dao.insert(act, con); con.commit(); } catch (Exception e) { e.printStackTrace(); try { con.rollback(); } catch (SQLException e1) { e1.printStackTrace(); } }finally{ JdbcUtil.release(con); } } public void deposite(String actNo, double amount) { Connection con = null; try { con = JdbcUtil.getConnection(); con.setAutoCommit(false); Account act = dao.findAccountByActNo(actNo, con); act.deposite(amount); dao.update(act, con); con.commit(); } catch (Exception e) { e.printStackTrace(); try { con.rollback(); } catch (SQLException e1) { e1.printStackTrace(); } }finally{ JdbcUtil.release(con); } } public double getBal(String actNo) { Connection con = null; double bal = 0.0; try { con = JdbcUtil.getConnection(); con.setAutoCommit(false); Account act = dao.findAccountByActNo(actNo, con); bal = act.getBal(); con.commit(); } catch (Exception e) { e.printStackTrace(); try { con.rollback(); } catch (SQLException e1) { e1.printStackTrace(); } }finally{ JdbcUtil.release(con); } return bal; } public void removeAccount(String actNo) { Connection con = null; try { con = JdbcUtil.getConnection(); con.setAutoCommit(false); dao.del(actNo, con); con.commit(); } catch (Exception e) { e.printStackTrace(); try { con.rollback(); } catch (SQLException e1) { e1.printStackTrace(); } }finally{ JdbcUtil.release(con); } } public void transfer(String from, String to, double amount) { Connection con = null; try { con = JdbcUtil.getConnection(); con.setAutoCommit(false); Account a1 = dao.findAccountByActNo(from, con); Account a2 = dao.findAccountByActNo(to, con); a1.withdraw(amount); a2.deposite(amount); dao.update(a1, con); dao.update(a2, con); con.commit(); } catch (Exception e) { e.printStackTrace(); try { con.rollback(); } catch (SQLException e1) { e1.printStackTrace(); } }finally{ JdbcUtil.release(con); } } public void withdraw(String actNo, double amount) { Connection con = null; try { con = JdbcUtil.getConnection(); con.setAutoCommit(false); Account act = dao.findAccountByActNo(actNo, con); act.withdraw(amount); dao.update(act, con); con.commit(); } catch (Exception e) { e.printStackTrace(); try { con.rollback(); } catch (SQLException e1) { e1.printStackTrace(); } }finally{ JdbcUtil.release(con); } } } //6 public class AccountDAOJdbcImpl implements IAccountDAO { public void del(String actNo, Connection con) throws DataException { String sql = "delete from t_act where actNo=?"; PreparedStatement ps = null; try { ps = con.prepareStatement(sql); ps.setString(1, actNo); ps.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); throw new DataException("del error"); }finally{ JdbcUtil.release(ps); } } public Account findAccountByActNo(String actNo, Connection con) throws DataException { String sql = "select actNo,bal from t_act" + " where actNo=?"; PreparedStatement ps = null; ResultSet rs = null; Account act = null; try { ps = con.prepareStatement(sql); ps.setString(1, actNo); rs = ps.executeQuery(); if(rs.next()){ act = new Account(rs.getString(1),rs.getDouble(2)); } } catch (SQLException e) { e.printStackTrace(); throw new DataException("find error"); }finally{ JdbcUtil.release(rs,ps,null); } return act; } public void insert(Account act, Connection con) throws DataException { String sql = "insert into t_act values(?,?)"; PreparedStatement ps = null; try { ps = con.prepareStatement(sql); ps.setString(1, act.getActNo()); ps.setDouble(2, act.getBal()); ps.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); throw new DataException("insert error"); }finally{ JdbcUtil.release(ps); } } public void update(Account act, Connection con) throws DataException { String sql = "update t_act set actNo=?,bal=? " + "where actNo=?"; PreparedStatement ps = null; try { ps = con.prepareStatement(sql); ps.setString(1, act.getActNo()); ps.setDouble(2, act.getBal()); ps.setString(3,act.getActNo()); ps.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); throw new DataException("update error"); }finally{ JdbcUtil.release(ps); } } } //7 public class AccountDAOFactory { public static IAccountDAO getDAO(){ return new AccountDAOJdbcImpl(); } } //8 public class AccountServiceFactory { public static IAccountService getService(){ return new AccountServiceJdbcImpl(); } } //9 public class Test { public static void main(String[] args) { IAccountService s = AccountServiceFactory.getService(); s.createAccount(new Account("a-001",12000.0)); s.createAccount(new Account("a-002",7000.0)); StringBuffer sb = new StringBuffer(); sb.append("a-001="+s.getBal("a-001")+"\n"); sb.append("a-002="+s.getBal("a-002")+"\n"); sb.append("从a-001转756.0到a-002\n"); s.transfer("a-001", "a-002", 756.0); sb.append("a-001="+s.getBal("a-001")+"\n"); sb.append("a-002="+s.getBal("a-002")+"\n"); System.out.print(sb.toString()); } } //10 JdbcUtil工具类
发表评论
-
解决数据库乱码问题
2009-12-11 15:55 669MySql中的my.ini 文件中default-charac ... -
Hibernate_北京老师串讲内容
2009-10-07 20:48 836话题一:hibernate的基本使用 学习方向:重点理解hi ... -
Hibernate_整理资料
2009-08-09 19:44 1113http://hi.baidu.com/hking1987/b ... -
Hibernate_上课自己的代码
2009-08-09 15:49 823第一天 ************************** ... -
Hibernate_Session_delete方法
2009-08-02 22:16 894delete()方法用于从数据库中删除与Java对象对应的记录 ... -
Hibernate_缓存机制
2009-08-02 21:53 1401这是在一次事务提交时遇到的异常。 an assertion ... -
JDBC_ResultSet对象介绍
2009-08-02 14:12 1751http://hi.baidu.com/ichooseilik ... -
JDBC_常用类和方法
2009-08-02 13:57 1715JDBC常用类和方法 一、 ... -
JDBC_上课自己的代码
2009-08-02 13:54 1117第一天 连接Oracle package tarena; ...
相关推荐
基于jdbc的银行业务管理系统,纯java代码的,没有前端展示啥的,不是javaweb
Spring整合JDBC实现转账业务demo源代码,具体的解释可以参考本人Spring整合JDBC实现转账业务
登录注册,开卡(当前该用户),注销卡(当前该用户),余额查询(当前该用户),汇总(当前该用户),转账(不同用户和同用户),存取款(当前用户) ...3. 数据库oracle 有文档说明里面有数据库表
用mysql和jdbc servlet 写银行管理系统,代码认真阅读
示例代码专业、实用,使学员能站在更高层次上深入理解 JDBC 技术。 ------------------------------------ 视频内容: 1. 获取数据库连接(视频1-2) 2. 使用 Statement 执行更新操作(视频3) 3. 使用 ResultSet ...
基于java代码实现的银行管理系统
通过转账案例讲解了三层和事务,以及容易出现问题的关键点
一个银行管理系统,里面有存款,取款,转账,查看流水,登录,注册,修改密码功能的java代码压缩包,运用了JDBC,GUI,MYSQL8.0。纯手写,有注释,可供学习参考,代码规范使用,里面很多方法都很有体现。运行环境jdk...
主要介绍了Java基于JDBC实现事务,银行转账及货物进出库功能,较为详细的分析了事务操作的原理、实现方法及java基于jdbc连接数据库实现银行事务操作的相关技巧,需要的朋友可以参考下
MySQL遵循GPL开源协议,这意味着任何人都可以免费下载、使用和修改其源代码。这种开放性促进了广泛的社区支持和第三方插件、工具的发展。此外,MySQL支持多种操作系统,包括Windows、Linux、macOS、Solaris等,确保...
Java+SQL信用卡管理系统源代码源代码学习
本项目是一套基于Java swing和mysql实现的银行管理系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。 包含:项目源码、项目文档、数据库脚本等,该项目附带全部源码可作为毕设使用。...
跨平台性(Write Once, Run Anywhere): Java的代码可以在不同的平台上运行,只需编写一次代码,就可以在任何支持Java的设备上执行。这得益于Java虚拟机(JVM),它充当了代码和底层硬件之间的中介。 面向对象: ...
myeclipse+mysql+jdbc+servlet增删改查,圣思园中国人民银行企培源代码,亲测可运行。
项目描述 原生GUI 的界面,一款Java Swing跨平台外观,它就是BeautyEye ...eclipse+jdk8+jdbc+mysql 项目技术(必填) swing 美化包beautyeye+windowbuilder可视化插件 资源包文件(可选) 阿里巴巴矢量图官方下载地址 ...
完成一个相对完整的小型管理系统,涉及到的核心知识包括数据库访问(JDBC、事务)、配置文件、对象序列化与反序列化、多线程、计时器、网络编程、Swing界面与事件驱动模型、正则表达式和格式化显示等。
Java Web网上银行 银行管理系统 系统介绍本系统中主要包括银行卡处理,帐户查询,转账汇款,充值缴费四部分功能。每一个功能都有具体的显示部分和逻辑控制部分。另外通过合法性验证,处理表单的重复提交及数据本系统...
该系统通过java代码完成,用到javaBean,用到jdbc连接数据库 可以完成取款,存款,开户,注销,安全退出,查账,转账功能, 代码简单,不复杂,模块清晰一看就懂,里面还用到了验证码技术
EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean...