【问题标题】:Why is the Null column on mySQL table set to yes in Spring Application为什么在Spring Application中mySQL表上的Null列设置为yes
【发布时间】:2018-02-06 13:48:27
【问题描述】:

我正在将 JSP 页面上的 ajax 查询中的纬度、经度和地址值传递给我的 spring 应用程序中的控制器,因此我可以将它们保存到我的 MySQL 数据库中。我知道这些值已从客户端的 ajax 查询成功发送,因为我包含了一个打印语句以在控制台中显示发送的值(打印正确的数据)。但是,当我去查看数据库看是否添加了值时,只添加了纬度和经度值,并且地址(表中的area_name)为空。

+---------+-----------+------------+--------------------+
| area_id | area_name | latitude   | longitude          |
+---------+-----------+------------+--------------------+
|       1 | NULL      | 53.3348279 | -6.269547099999954 |
|       2 | NULL      | 53.3498053 | -6.260309699999993 |
|       3 | NULL      |   53.39907 | -6.281790799999953 |
+---------+-----------+------------+--------------------+

然后,我查看了表是如何设置的,似乎 area_name 的 null 列设置为 yes,这可能解释了为什么只有此列返回 null。

+-----------+--------------+------+-----+---------+----------------+
| Field     | Type         | Null | Key | Default | Extra          |
+-----------+--------------+------+-----+---------+----------------+
| area_id   | int(11)      | NO   | PRI | NULL    | auto_increment |
| area_name | varchar(255) | YES  |     | NULL    |                |
| latitude  | double       | NO   |     | NULL    |                |
| longitude | double       | NO   |     | NULL    |                |
+-----------+--------------+------+-----+---------+----------------+

对我来说,这听起来像是 SQL 问题而不是弹簧问题,所以我排除了区域模型类和控制器类中的方法以保持问题简洁,但如果这是错误的,我已经准备好相关代码添加到问题中。

【问题讨论】:

  • 要么您使用错误的查询进行更新,要么您没有将传入的结果映射到正在存储的实际实体。对我来说似乎是一个映射问题,实际进入数据库的字段是null,而不是包含来自网络的值。
  • 听起来你忘记在插入查询中设置 area_name。不能肯定地说,因为你没有包含源代码。
  • 我不使用任何查询,因为它可以通过实体、存储库和控制器完成。问题是,我在前端有一个名为 address 的变量,并在实体中将它称为 areaName ,所以没有任何东西通过。感谢您的帮助!

标签: mysql spring spring-mvc


【解决方案1】:

问题是我在前端有一个名为 address 的变量,并在实体中将它称为 areaName ,所以没有任何东西通过。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-24
    • 1970-01-01
    • 2019-09-12
    • 1970-01-01
    • 1970-01-01
    • 2011-09-24
    • 2011-02-08
    • 1970-01-01
    相关资源
    最近更新 更多