前端、后端和数据库的数据类型问题

前端传递给后端数据是json格式

 

后端接收

把json数据,存放到Reimbursement类的对象变量reimbursement里面。

根据json的键找到对应的字段,通过键,把值传递到类对象里,

一开始json里的值没有数据类型,类里的对应字段是什么类型,传进去后就是什么类型,

 

这里我类里面status的属性类String

可以看到,reimbursement.getStatus() instanceof String不报错,就说明传递进去的status确实变成了String类型

 

  • JSON 数据本身是无类型的:JSON 格式只定义了数据的结构(键值对),而不定义字段的数据类型。

  • 后端根据类的字段类型解析数据:后端框架会根据类中定义的字段类型来解析 JSON 数据,并将值存储到类对象中。

  • 类型转换:如果 JSON 中的值的类型与类字段的类型不匹配,后端框架会尝试进行类型转换。如果转换失败,会抛出异常。

 

而在我的数据库里面,我的status为int类型,却依然可以成功运行,

 

这是因为大多情况下,mybatis帮我们完成了类型转换,可以正常使用。但最好还是保持前端、后端和数据库的数据类型一致,以避免类型转换问题和数据一致性问题。

 

数据库是int,实体类类型为integer或Long,也是常见用法

在存储到数据库时,需要将 IntegerLong 类型的字段转换为 int 类型。通常,ORM 框架(如 Hibernate 或 MyBatis)会自动处理这种类型转换。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值