插件lib:

1.数据库连接 com.xiao.dbc.DBConnection.java

package com.dbc;import java.sql.*;public class DBConnection {public final static String URL="jdbc:oracle:thin:127.0.0.1:1521:orcl";public final static String USER="bbs";public final static String PASSWORD="bbs";public static Connection getDBConn(){Connection con=null;try {Class.forName("oracle.jdbc.driver.OracleDriver");con=DriverManager.getConnection(URL,USER,PASSWORD);} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return con;}public static void closeDBConn(Connection con){try {con.close();} catch (SQLException e) {if(null!=con){con=null;}}}public static void main(String[] args) {Connection con=DBConnection.getDBConn();System.out.println(con);DBConnection.closeDBConn(con);}
}

2.实际操作 com.demo.TransformMoney.java

package com.demo;import java.sql.*;import com.dbc.DBConnection;public class TransformMoney {
/*转账数据库涉及的操作:(1) insert 交易记录表(2) insert 交易记录表(3) update 账号表(4) update 账号表只有上面的4个数据库操作都正确执行,转账才算成功.数据库事务:原子性:在一个事务中的所有操作被视为一个整体一致性:操作前后数据的整体状态要一致隔离性:事务之间不会互相影响永久性:对事务当前的操作进行保存默认的事务模式: 每一条sql语句就是一个事务开启手动事务模式:开启后,执行commit表示提交事务,执行rollback表示回滚事务*/public static void main(String[] args) {// TODO Auto-generated method stub//徐小挺向陈大熊转账5000//徐小挺:1234567887654321//陈大熊:9234567887654328//交易金额:5000Connection con=DBConnection.getDBConn();try {//取消默认的事务模式,开启手动事务模式con.setAutoCommit(false);//插入交易记录信息String sql="insert into business values(5,'转出','1234567887654321','9234567887654328',5000,sysdate)";Statement st=con.createStatement();//执行插入交易记录sql语句st.executeUpdate(sql);//插入交易记录信息String sql2="insert into business values(6,'转入','9234567887654328','1234567887654321',5000,sysdate)";//执行插入交易记录sql语句st.executeUpdate(sql2);//修改转账关联的两个账号的余额//执行修改账号的余额的sql语句String sql3="update bankaccount set   ";st.close();//提交事务con.commit();System.out.println("转账交易成功!");} catch (Exception e) {// TODO Auto-generated catch blocktry {//回滚事务con.rollback();System.out.println("转账交易失败!");} catch (SQLException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}DBConnection.closeDBConn(con);}}

JDBC(模拟银行转账)相关推荐

  1. Spring事务案例:模拟银行转账

    Spring事务案例:模拟银行转账 一. 概念 二. 原程序 2.1 表: 2.2 service层接口: 2.3 dao层接口: 2.4 service实现类: 2.5 测试用例: 三.使用事务改进 ...

  2. python 3.6.5 模拟银行转账系统

    1. 创建数据库并构造表 acctid用来标识账户 money用来标注账户的金额 可以查看一下表的结构 更加直观 2. 插入两个账户的数据并查看表中存储的内容 可以看到在1号户中存储了300,在2号中 ...

  3. 利用mysql模拟银行转账_实践项目七:模拟银行转账系统(python+mysql)

    环境:ubutu 16.04 + python2.7 + mysql 5.7.19 最近学习python操作mysql数据库的知识,python访问数据库有自己的统一接口程序:Python DB AP ...

  4. python模拟银行存取款_python 模拟银行转账功能过程详解

    首先画出流程图,流程图与现实代码有出入,因为刚开始画流程图的时候,有些东西没考虑进去,后来写着写着就慢慢能想起来并实现了. 另有一点经验推荐给新手朋友,如果说碰到一个项目无从下手的话,就先慢慢去写,写 ...

  5. 事务的应用demo1-------采用JDBC硬编码方式模拟银行转账。

    2019独角兽企业重金招聘Python工程师标准>>> 1. 数据表-----BANKACCOUNT create table BANKACCOUNT (id VARCHAR2(25 ...

  6. JDBC –模拟序列

    也许我们每个人在程序员的生命中至少遇到过一次这个问题- 如何模拟数据库序列? 在下面,您可以找到我对这个问题的解决方案的变形. 假设我们有一个接口定义了所需的API,用于返回整数序列: public ...

  7. JDBC模拟SQL注入和避免SQL注入

    模拟用户登录 用户名:fdsa 密码:fdsa' or '1'='1 select * from t_user where login_name='fdsa' and login_pwd='fdsa' ...

  8. Spring+mybatis模拟银行转账

    实体类: package com.bjsxt.pojo;import java.io.Serializable;public class Account implements Serializable ...

  9. 用java、JDBC模拟银行ATM取款、存款、转账、注册用户(笔记)

    功能:转账.存款(转账失败时事务回滚).余额查询.取款.分页查询.注册用户 JAVA中利用JDBC连接数据库,通过增删改查模拟ATM (注册功能和分页查询在持久层和业务层写了,在模拟时未用到) Ora ...

最新文章

  1. jquery实现点击页面其他地方隐藏指定元素
  2. SAP 获取采购订单表头长文本
  3. python 排列组合之itertools
  4. 遗传算法占用计算机空间,遗传算法综述摘要.doc
  5. php静态方法场景,深入介绍PHP中的static的修饰方法和yield的使用场景
  6. 线性规划的matlab实现
  7. 搞IT的技术人员为什么会如此苦逼
  8. matlab 功率谱密度 汉宁窗_如何理解随机振动的功率谱密度?
  9. 数据可视化【九】单向数据流交互
  10. Python中表达式和语句及for、while循环练习
  11. 三台云服务器搭建hadoop集群
  12. iphone:解析html的第三库hpple初试
  13. 400是什么错误_我想对您说小学作文400字7篇
  14. java web教室管理系统_“真香”教程,455集全套java视频教程,自己拿走去学习吧...
  15. Javascript 笔记与总结(2-8)对象2
  16. jdk1.8_API中文帮助文档
  17. JAVA后端开发浅谈
  18. 分区表修复工具--DISKFIX
  19. 安徽初二计算机考试试题,安徽省八年级信息技术会考题库
  20. ASIC 芯片 PVT

热门文章

  1. 达梦数据库开启sql日志及配置
  2. json数据的两种格式及两种json方法
  3. chrome 窗体高度_控制Chrome浏览器窗口最小宽度和高度
  4. MCGS-函数读取数据
  5. java开发实际工作中项目开发流程及岗位
  6. 一起自学SLAM算法:7.4 基于贝叶斯网络的状态估计
  7. javaweb代码编译打包上架流程简易说明
  8. 软件安全学习笔记——C语言
  9. webstorm,phpstorm无法打开设置的问题
  10. Iris鸢尾花数据集可视化、线性回归、决策树分析、KMeans聚类分析