数据库设计和连接数据库

本博客主要记录实训项目中开发过程,想了解idea如何连接mysql可以只看内容一,内容二为数据库设计和sql代码

目录

一、idea连接数据库

2.1 mysql创建数据表

2.2 idea连接MySQL数据库

二、数据库设计

1.1 用户个人信息表user

1.2 银行卡表cards

1.3 用户-银行卡表users_cards

1.4 支付表payment

1.5 公司表company

1.6 理财产品表financial_product

1.7 理财产品-用户表financial_user

1.8 贷款项目表loan_product

1.9 贷款-用户表loan_user


一、idea连接数据库

2.1 mysql创建数据表

打开cmd,输入以下代码进入mysql,这里的username替换成你的MySQL用户名

mysql -u username -p

输入密码,进入mysql,显示以下进入成功

输入以下代码,查看自己当前已有数据库

show databases;

这里我们输入以下代码新建一个数据库,bankdb是数据库名

create database bankdb;

再输入show databases; 可以发现我们已经创建成功

2.2 idea连接MySQL数据库

先在pom.xml中添加mysql依赖,可以在这个网站上找,Maven Repository: Search/Browse/Explore (mvnrepository.com)

根据mysql的版本,可能支持的依赖项的版本也不同

<dependency>
    <groupId>com.mysql</groupId>
    <artifactId>mysql-connector-j</artifactId>
    <version>8.4.0</version>
</dependency>

右边点开maven刷新一下,加载一下依赖项

之后在如下位置进行设置application.yml,可能一开始是application.properties,2者都行,就是格式不一样,这里只展示.yml的

添加代码如下,jdbc:mysql://localhost:3306/bankdb 这里的bankdb就是你要连接的数据库名,username填写你的数据库用户名,password填写密码

之后我们手动连接一下数据库,在右边找到数据库选项,点开,点击这个+号新建,找到mysql选项

填写数据库名字bankdb,并且输入用户名和密码,填完之后点击下面的测试连接,显示成功即可

点击应用,点击确定,就能连上了,后面不需要再连接了,每次重开项目的时候记得先启动一下数据库。

二、数据库设计

直接从文档复制过来的,具体细节以后再补

1.1 用户个人信息表user

编号

名称

说明

数据类型

允许空值

默认值

主键

1

id

用户唯一编号

int

N

Y

2

realName

真实姓名

varchar(50)

N

N

3

birthday

出生日期

varchar(10)

N

N

4

sex

性别

0女

1男

int

N

N

5

cardId

身份证号

varchar(18)

N

N

6

address

地址

varchar(100)

N

N

7

phone

联系电话

varchar(20)

N

N

8

mail

邮箱

varchar(50)

N

N

9

password

登录密码

varchar(50)

N

N

10

creditScore

信用评分

decimal(3,2)

N

N

11

userType

用户类型

1用户

2银行员工

3管理员

int

N

N

12

photo

用户头像

varchar(100)

Y

N

-- 创建用户表
CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY COMMENT '用户唯一id',
    realName VARCHAR(50) NOT NULL DEFAULT '' COMMENT '真实姓名',
    birthday VARCHAR(10) NOT NULL DEFAULT '' COMMENT '出生日期',
    sex INT NOT NULL DEFAULT 0 COMMENT '性别',
    cardId VARCHAR(18) NOT NULL DEFAULT '' COMMENT '身份证号',
    address VARCHAR(100) NOT NULL DEFAULT '' COMMENT '地址',
    phone VARCHAR(20) NOT NULL DEFAULT '' COMMENT '联系电话',
    mail VARCHAR(50) NOT NULL DEFAULT '' COMMENT '邮箱',
    password VARCHAR(50) NOT NULL DEFAULT '' COMMENT '登录密码',
    creditScore DECIMAL(3, 2) NOT NULL DEFAULT 0.00 COMMENT '信用评分',
    userType INT NOT NULL DEFAULT 1 COMMENT '用户类型',
    photo VARCHAR(100) DEFAULT NULL COMMENT '用户头像'
);

1.2 银行卡表cards

编号

名称

说明

数据类型

允许空值

默认值

主键

1

id

编号

int

N

Y

2

idNumber

卡号

varchar(20)

N

N

3

cardType

银行卡类型

1借记卡

2信用卡

int

N

N

3

password

密码

varchar(50)

N

N

4

balance

余额

decimal(12,4)

N

N

5

statusId

状态编号

0冻结

1正常

int

N

N

6

userId

所属用户编号

(绑定用户)

int

N

N

7

beginDate

开户日期

YYYY-MM-DD HH:MM:SS

timestamp

N

N

8

repaid

信用卡待还款

decimal(12,2)

N

0

N

9

total

信用卡额度

decimal(12,2)

Y

N

10

rate

日利率

decimal(12,4)

N

0.0005

N

11

repayDate

还款日期

decimal(12,4)

N

N

-- 创建银行卡表
CREATE TABLE cards (
    id INT AUTO_INCREMENT PRIMARY KEY COMMENT '编号唯一自增',
    idNumber VARCHAR(20) NOT NULL COMMENT '卡号唯一',
    cardType INT NOT NULL COMMENT '银行卡类型',
    password VARCHAR(50) NOT NULL COMMENT '密码',
    balance DECIMAL(12, 4) NOT NULL COMMENT '余额',
    statusId INT NOT NULL COMMENT '状态编号',
    userId INT NOT NULL COMMENT '所属用户',
    beginDate TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '开户日期',
    repaid DECIMAL(12, 2) NOT NULL DEFAULT 0 COMMENT '信用卡待还款',
    total DECIMAL(12, 2) DEFAULT NULL COMMENT '信用卡额度',
    rate DECIMAL(12, 4) NOT NULL DEFAULT 0.0005 COMMENT '日利率',
    repayDate date DEFAULT NULL COMMENT '还款日期'
);

1.3 用户-银行卡表users_cards

编号

名称

说明

数据类型

允许空值

默认值

主键

1

id

编号

int

N

Y

2

userId

所属用户

int

N

N

3

cardId

所属银行卡

int

N

N

-- 创建用户-银行卡关联表
CREATE TABLE users_cards (
    id INT AUTO_INCREMENT PRIMARY KEY COMMENT '编号,自增主键',
    userId INT NOT NULL COMMENT '所属用户',
    cardId INT NOT NULL COMMENT '所属银行卡'
);

1.4 支付表payment

支付类型可以新开一个表,这里用来记录流水和交易记录

编号

名称

说明

数据类型

允许空值

默认值

主键

1

id

编号

int

N

Y

2

idNumber

流水号

varchar(20)

N

N

3

cardId

银行卡号

varchar(20)

N

N

3

payDate

支付日时间

YYYY-MM-DD HH:MM:SS

timestamp

N

N

4

money

支付金额

decimal(12,2)

N

N

5

inOut

转入转出

0转入

1转出

int

N

N

6

payType

支付类型

1转账

2网银在线

3支付宝

4微信

int

N

N

7

recardId

接收方账户

varchar(20)

N

N

8

userId

所属用户编号

int

N

N

-- 支付表
CREATE TABLE payment (
    id INT AUTO_INCREMENT PRIMARY KEY COMMENT '编号',
    idNumber VARCHAR(20) NOT NULL DEFAULT '' COMMENT '流水号',
    cardId VARCHAR(20) NOT NULL DEFAULT '' COMMENT '银行卡号',
    payDate TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '支付时间',
    money DECIMAL(12,2) NOT NULL DEFAULT 0.00 COMMENT '支付金额',
    transType INT NOT NULL COMMENT '转入转出',
    payType INT NOT NULL COMMENT '支付类型',
    recardId VARCHAR(20) DEFAULT NULL COMMENT '接收方账户',
    userId INT DEFAULT NULL COMMENT '所属用户'
);

1.5 公司表company

(生活缴费),公司类型可以新开一个字典

编号

名称

说明

数据类型

允许空值

默认值

主键

1

id

编号

int

N

Y

2

companyName

公司名称

varchar(50)

N

N

3

city

所在城市

varchar(20)

N

N

4

companyType

公司类型

1水费公司

2燃气费公司

3电费公司

4通信公司

int

N

N

5

companyCount

公司账户

varchar(20)

N

N

-- 公司表
CREATE TABLE company (
    id INT AUTO_INCREMENT PRIMARY KEY COMMENT '编号',
    companyName VARCHAR(50) NOT NULL DEFAULT '' COMMENT '公司名称',
    city VARCHAR(20) NOT NULL DEFAULT '' COMMENT '所在城市',
    companyType INT NOT NULL COMMENT '公司类型',
    companyCount VARCHAR(20) NOT NULL COMMENT '公司账户'
);

1.6 理财产品表financial_product

编号

名称

说明

数据类型

允许空值

默认值

主键

1

id

编号

int

N

Y

2

productName

产品名称

varchar(50)

N

N

3

buyBeginDate

购买起始日期

timestamp

N

N

4

buyEndDate

购买终止日期

timestamp

N

N

5

beginDate

产品起始日期

timestamp

N

N

6

endDate

产品终止日期

timestamp

N

N

7

incomeType

收益类型

int

N

N

8

beginMoney

起购金额

int

N

N

9

costStatus

销售状态

1已售

2可售

3未售

int

N

N

10

currencyType

币种

1人民币

2美元

3港币

4欧元

int

N

N

11

ocType

开封闭类型

1封闭

2开放

int

N

N

12

riskType

风险等级

1低

2中

3高

int

N

N

13

institution

发行机构

varchar(50)

N

N

14

lowRate

最低年利率

decimal(12,4)

N

N

15

highRate

最高年利率

decimal(12,4)

N

N

-- 理财产品表
CREATE TABLE financial_product (
    id INT AUTO_INCREMENT PRIMARY KEY COMMENT '编号',
    productName VARCHAR(50) NOT NULL DEFAULT '' COMMENT '产品名称',
    buyBeginDate date NOT NULL COMMENT '购买起始日期',
    buyEndDate date NOT NULL COMMENT '购买终止日期',
    beginDate date NOT NULL COMMENT '产品起始日期',
    endDate date NOT NULL COMMENT '产品终止日期',
    incomeType INT NOT NULL COMMENT '收益类型',
    beginMoney INT NOT NULL COMMENT '起购金额',
    costStatus INT NOT NULL COMMENT '销售状态',
    currencyType INT NOT NULL COMMENT '币种',
    ocType INT NOT NULL COMMENT '开封闭类型',
    riskType INT NOT NULL COMMENT '风险等级',
    institution VARCHAR(50) NOT NULL COMMENT '发行机构',
    lowRate DECIMAL(12,4) NOT NULL COMMENT '最低年利率',
    highRate DECIMAL(12,4) NOT NULL COMMENT '最高年利率'
);

1.7 理财产品-用户表financial_user

编号

名称

说明

数据类型

允许空值

默认值

主键

1

id

编号

int

N

Y

2

belongUser

所属用户

int

N

N

3

blongProduct

所属产品

int

N

N

4

balance

产品余额

decimal(12,4)

NN

N

-- 理财产品-用户表
CREATE TABLE financial_user (
    id INT AUTO_INCREMENT PRIMARY KEY COMMENT '编号',
    belongUser INT NOT NULL COMMENT '所属用户',
    belongProduct INT NOT NULL COMMENT '所属产品',
    balance DECIMAL(12,4) NOT NULL DEFAULT 0 COMMENT '产品余额'
);

1.8 贷款项目表loan_product

编号

名称

说明

数据类型

允许空值

默认值

主键

1

id

编号

int

N

Y

2

productName

产品名称

varchar(50)

N

N

3

beginDate

贷款起始日期

timestamp

N

N

4

timeContniue

贷款期限(月数)

int

N

N

5

incomeType

贷款类型

1等额本金

2等额本息

int

N

N

6

beginMoney

贷款金额

decimal(12,4)

N

N

8

interest

利息

decimal(12,4)

N

N

-- 贷款项目表
CREATE TABLE loan_product (
    id INT AUTO_INCREMENT PRIMARY KEY COMMENT '编号',
    productName VARCHAR(50) NOT NULL COMMENT '产品名称',
    beginDate TIMESTAMP NOT NULL COMMENT '贷款起始日期',
    timeContinue INT NOT NULL COMMENT '贷款期限(月数)',
    incomeType INT NOT NULL COMMENT '贷款类型 ',
    beginMoney DECIMAL(12,4) NOT NULL COMMENT '贷款金额',
    interest DECIMAL(12,4) NOT NULL COMMENT '利息'
);

1.9 贷款-用户表loan_user

编号

名称

说明

数据类型

允许空值

默认值

主键

1

id

编号

int

N

Y

2

userId

所属用户

int

N

N

3

productId

所属贷款

int

N

N

4

balance

贷款余额

decimal(12,4)

N

N

7

productStatus

贷款状态

1未通过

2通过

3已结束

int

N

N

-- 贷款-用户表
CREATE TABLE loan_user (
    id INT AUTO_INCREMENT PRIMARY KEY COMMENT '编号',
    userId INT NOT NULL COMMENT '所属用户',
    productId INT NOT NULL COMMENT '所属贷款',
    balance DECIMAL(12,4) NOT NULL COMMENT '贷款余额',
    productStatus INT NOT NULL COMMENT '贷款状态'
);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值