java怎么模拟查询账户余额_spring boot + mybatis 模拟银行系统余额查询、转账、存取钱功能实现...

本文通过创建数据库表,使用Spring Boot和MyBatis框架,详细讲解了如何实现账户余额查询、转账、存款和取款功能。包括控制器、Service、Mapper的实现,以及前端接口调用和数据库交互过程。最后,指出了当前实现的不足,如未充分利用Redis和考虑转账记录的优化方案。
摘要由CSDN通过智能技术生成

一、准备工作

新建一个数据库,数据库名字是tokenLogin,数据库内新建两张表,第一张是用户账户信息表,第二张是转账、入账、出账记录表,分别如下所示:

1. sys_user用户账户信息表:

CREATE TABLEtokenLogin.sys_user(

`id`bigint NOT NULL comment 'ID',

`username`varchar(50) comment '用户名',

`password`varchar(50) comment '密码',PRIMARY KEY(`id`)

);insert into tokenLogin.sys_user values('1' , 'admmin' , '1')insert into tokenLogin.sys_user values('2' , 'superadmmin' , '11')insert into tokenLogin.sys_user values('3' , 'user' , '111')alter table tokenLogin.sys_user add column account double default null;

接着对account进行赋值,赋值完成后表内容如下:

e9051bd699e8aeb560d20a4343602d9d.png

2. 转账记录表:

CREATE TABLEtokenLogin.trasf_record(

`id`int NOT NULLAUTO_INCREMENT,

`username`varchar(50) default null,

`account_time`TIMESTAMP DEFAULT now() , /*交易时间,默认是几率生成的时间,也就是交易操作完成的时间*/`old_account`double default null, /*原账户的余额*/`new_account`double default null, /*交易后账户最新余额*/`target_account`varchar(50) default null , /*交易对方账户*/`account_type`varchar(50) default null , /*交易类型*/

PRIMARY KEY(`id`)

);alter table tokenLogin.trasf_record add column transaction_amount double default null after old_account ; /*在原账户余额和交易后账户余额中间插入交易余额*/

创建一张空表即可,后面产生交易的时候将数据插入,实现资金追溯。

df11f827d133907ffe5daa0952720008.png

3. 常量设置:在转账记录表中,有一个字段account_type , 这个字段无非有两个结果,要么是入账类型,要么是出账类型,所以这里我们进行常量设置。

在constants包下面新建TransactionType类,类下内容如下:

/***@authoryeyuting

* @create 2021/2/18*/

public classTransactionType {public static final String SAVEMONEY = "入账";public static final String WITHDRAWMONEY = "出账";

}

这样一来,准备工作就做好了,现在我们依次来实现账户余额查询、转账、入账和出账记录。

二、账户余额查询

1. 首先控制层创建余额查询接口:

@GetMapping("/selectByUserName")public Resul

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值