Oracle项目实践(银行账户bank_account系统)_oracle银行项目实战(1)

文章讨论了如何通过获取系统化的学习资料,尤其是针对数据库操作如CRUD和转账流程的示例,来避免浅尝辄止,强调了知识体系的重要性以及加入技术交流社群的价值。作者还提供了数据库操作的代码片段,包括增删改查和异常处理.
摘要由CSDN通过智能技术生成

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  1. 建立一个银行账户的表bank_account,具备以下字段和约束
    在这里插入图片描述
  2. 完成该表基本CRUD
  3. 模拟转账流程
  4. 模拟异常之后的业务回滚
开发文档:
1. 按需求建表
2. 遵循编码规范,创建项目,包结构
3. 书写该表的CRUD JDBCDao
4. 模拟转账流程 BankDao
	4.1转出人扣款
	4.2 收款人收款
5. 模拟异常回滚
	5.1判断转出人余额是否足够
	5.2判断收款人编号是否存在

开战
1.创建Test_Bank数据库,预插入用户数据

在这里插入图片描述

2.编写Test_Bank项目

在这里插入图片描述

3.实现Dao层:增、删、改、查(主要代码)
//查找用户
public void cha() throws SQLException {
	//调用方法实例化一个用户数组,用来存放用户
	ArrayList<User> listUser =new ArrayList<User>();
	//获取链接
	Connection connect = OracleDriverUtil.getConnect();
	//准备sql
	String sql="select \* from bank\_account";
	//装载sql
	PreparedStatement ps = connect.prepareStatement(sql);
	//执行sql
	ResultSet result = ps.executeQuery();
	//收参
	while (result.next()) {
		int id=result.getInt(1);
		String num=result.getString("num");
		double balance = result.getDouble(3);
		//创建用户对象,存放查询数据
		User user1 =new User(id,num,balance);
		listUser.add(user1);
	}
	System.out.println(listUser);
}

//增加用户
public boolean zeng(String num,double balance) throws SQLException {
	//调用工具
	Connection con = OracleDriverUtil.getConnect();
	//编写sql
	String sql="insert into bank\_account(id,num,balance) values(seq\_bank\_account.nextval,?,?)";
	//预装载sql
	PreparedStatement ps = con.prepareStatement(sql);
	ps.setString(1,num);
	ps.setDouble(2,balance);
	//调用工具执行sql,并返回结果集
	ps.executeUpdate();
	System.out.println("增加成功");
	//返回
	return true;
}

//删除用户
public boolean san(String num) throws SQLException {
	//调用工具
	Connection con = OracleDriverUtil.getConnect();
	//编写sql
	String sql="delete from bank\_account where num=? ";
	//预装载sql
	PreparedStatement ps = con.prepareStatement(sql);
	ps.setString(1,num);
	//调用工具执行sql,并返回结果集
	ps.executeUpdate();
	System.out.println("删除成功");
	//返回
	return true;
}

	//增加转入账户金额
public boolean gaizeng(double balance,String num) throws SQLException {
	//调用工具
	Connection con = OracleDriverUtil.getConnect();
	//编写sql
	String sql="update bank\_account set balance=balance+? where num=? ";
	//预装载sql
	PreparedStatement ps = con.prepareStatement(sql);
	ps.setDouble(1, balance);
	ps.setString(2, num);
	//调用工具执行sql,并返回结果集
	ps.executeUpdate();
	//返回 
	System.out.println("转入成功");
	return true;
}


//扣除转出用户金额
public boolean gaijian(double balance,String num) throws SQLException {
	//调用工具
	Connection con = OracleDriverUtil.getConnect();
	//编写sql
	String sql="update bank\_account set balance=balance-? where num=? ";
	//预装载sql
	PreparedStatement ps = con.prepareStatement(sql);
	ps.setDouble(1, balance);
	ps.setString(2, num);
	//调用工具执行sql,并返回结果集
	ps.executeUpdate();
	//返回 
	System.out.println("转出成功");
	return true;


### 最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

### 资料预览

给大家整理的视频资料:

![](https://img-blog.csdnimg.cn/img_convert/867a3c6385341bab3808fe1174ac8919.png)

给大家整理的电子书资料:

  

![](https://img-blog.csdnimg.cn/img_convert/22d0e8b80e8a7540861f0faa1acd0231.png)



**如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!**

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

技术提升。**

**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值