maheensayuru/Nexus-Banking-System

GitHub: maheensayuru/Nexus-Banking-System

基于 Java 和 MySQL 的银行微服务系统,演示了关系型数据库管理、安全事务处理与微服务协作的后端架构实践。

Stars: 0 | Forks: 0

# 🏦 Nexus 银行系统 (v2.0 - 集成 SQL) 一个专业级的后端应用程序,旨在演示**关系型数据库管理 (RDBMS)**、**依赖管理**和**整洁的后端架构**。 ## 🚀 最新升级 - **数据库集成:** 从 `.txt` 文件迁移至 **MySQL** 数据库,以实现可靠的数据持久化。 - **加密安全:** 为所有存储的用户密码增加了 SHA-256 哈希处理。 - **Maven 迁移:** 项目现在使用 **Maven** (`pom.xml`) 进行自动化的依赖和构建管理。 - **Java 21 支持:** 针对最新的长期支持 (LTS) Java 版本进行了优化。 - **预编译语句:** 实现了严格的 SQL 逻辑,以防止 SQL 注入攻击。 ## 🛠️ 技术栈 - **语言:** Java 21 - **数据库:** MySQL 8.x - **连接器:** MySQL Connector/J (JDBC) - **构建工具:** Maven ## 🖥️ 数据库 Schema 该微服务依赖于多表关系型 schema: ``` CREATE TABLE accounts ( account_number VARCHAR(10) PRIMARY KEY, account_holder VARCHAR(100) NOT NULL UNIQUE, balance DECIMAL(15, 2) DEFAULT 0.0, password VARCHAR(255) NOT NULL, is_frozen BOOLEAN DEFAULT FALSE ); CREATE TABLE transactions ( id INT AUTO_INCREMENT PRIMARY KEY, sender VARCHAR(100) NOT NULL, recipient VARCHAR(100) NOT NULL, amount DECIMAL(15, 2) NOT NULL, transfer_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE offline_messages ( id INT AUTO_INCREMENT PRIMARY KEY, sender VARCHAR(100) NOT NULL, recipient VARCHAR(100) NOT NULL, message TEXT NOT NULL, timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); ``` ## 🔗 Nexus 生态系统 该银行系统不再仅仅是一个独立的应用程序——它作为微服务架构的基础数据层而存在。 它与 **[Nexus 聊天服务器](https://github.com/maheensayuru/Nexus-Chat-Server)** 集成,允许用户通过加密的 JavaFX 聊天界面,安全地查询其数据库余额 (`/balance`) 并执行实时的多线程 SQL 事务 (`/transfer`)。 ## ⚙️ 设置与安装 1. 克隆仓库:`git clone https://github.com/maheensayuru/Nexus-Banking-System.git` 2. 创建 MySQL 数据库:`CREATE DATABASE bank_db;` 3. 执行上面提供的 schema 来创建数据表。 4. 更新 `DatabaseManager.java` 中的 `URL`、`USER` 和 `PASSWORD`。 5. 使用 Maven 构建并运行: `mvn compile exec:java -Dexec.mainClass="BankingApp"`
标签:CISA项目, Java 21, JDBC事务, Maven, Nexus生态系统, PreparedStatement, RDBMS, SHA-256, 交易记录, 企业级应用, 依赖管理, 关系型数据库, 加密存储, 后端开发, 干净架构, 支付系统, 数据库模式, 数据库连接器, 数据持久化, 数据泄露, 漏洞验证, 离线消息, 账户管理, 金融科技, 银行系统, 防SQL注入