前端表单传递DATE类型经过Java存储到mysql中的空字符问题

本文讨论了在前端表单传递空日期到Servlet时,如何处理空字符串以适应MySQL中date类型的字段。当用户未填写生日导致传递的birthday值为空字符串时,需要在后端进行转换,将其转化为null以符合数据库的存储规则。同时提出了两种解决方案:一是在Servlet中进行判断转换,二是前端进行非空验证。这两种方法都能有效避免因空字符串导致的存储问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

表单传递数据到Servlet,经过Servlet中,调用DAO存储到mysql的编码问题

前端页面表单中的birthday类型为date,

你好! 这是你第一次使用 **Markdown编辑器** 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
在表单中的出生日期栏不插入数据
在这里插入图片描述
servlet中接收到的表单数据为一个空字符
在这里插入图片描述

但是数据库里边的birthday的列设置的为date类型,表单中不填写内容传递过来的是一个空字符串,因此需要在UserServiceImpl里边进行判断

mysql数据库中字段为空的含义是将要设置为空的字段内容设置为null,但是上面所提到的从表单中传递过来的birthday值为空字符串,因此存入数据库之前要将空字符串转换成null
在这里插入图片描述

在这里插入图片描述

还有一种方式就是在前端输入出生日期时进行非空判断

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值