当前位置: 首页 > 知识库问答 >
问题:

java中如何避免向sql发送空值

潘璞瑜
2023-03-14

我有一个有35列的表,其中的条目像day1、day2、day3------一直到day31。我已经用null allow accepted定义了这31列。我正在使用JdbcTemplate方法update(字符串sql,Object…args)插入记录,抛出DataAccessException,该列没有值或为空。。空值插入到表中。。那很好。

但当我更新表时,哪个列已经有一些值,但当前json条目包含该列的空值,那么该列的值将变为null。我想添加31个字段,其中包含整数值。

共有1个答案

缪茂勋
2023-03-14

您当前的表格设计似乎不太理想,我建议为一个月中的每一天单独记录。更好的是,只需维护一个日期列,然后为您要求和的数量另列:

CREATE TABLE yourTable (dt date, quantity int, ...);

这里的锦上添花之处在于,如果您想按日期或日期范围求和,只需使用函数sum(),默认情况下,该函数将忽略NULL值。因此,无论您的空占位符是零还是NULL,结果都是一样的。

 类似资料:
  • 本文向大家介绍Java Web 如何避免 SQL 注入?相关面试题,主要包含被问及Java Web 如何避免 SQL 注入?时的应答技巧和注意事项,需要的朋友参考一下 使用预处理 PreparedStatement。 使用正则表达式过滤掉字符中的特殊字符。

  • 我有如下所示的JSON 我将文件读成字符串并创建一个JSONObject,如下所示 然而,我认为我可以用try catch将语句括起来 请建议在这种情况下是否有任何合理的理由放一个长的if条件,而不是仅仅try-catch-log然后继续。 您还可以分享使用JSONException在此上下文中是否有任何“优点”吗?

  • 问题内容: 要避免很多。 有没有好的替代方法? 例如: 当不知道对象是否存在时,可以避免使用。 问题答案: 在我看来,这似乎是一个相当普遍的问题,初级和中级开发人员往往会在某个时候遇到这些问题:他们要么不知道,要么不信任他们所参与的合同,并且防御性地检查了null。另外,在编写自己的代码时,他们倾向于依靠返回空值来表示某些内容,因此要求调用者检查空值。 换句话说,在两种情况下会出现空检查: 如果为

  • 问题内容: 我是JavaEE的新手,并试图通过检查数据库来学习制作一个简单的登录页面。这是代码示例: 它应该容易受到SQL注入的侵害吧?我可以通过在ASP.NET中使用参数化查询来做到这一点,如下所示: 有没有办法像这样在Java中使用参数化查询?谁能以参数化形式使用该查询来避免SQL注入? 谢谢 问题答案: 是的,你可以做到这一点;例如:

  • 当方法调用的嵌套层级过深,导致栈空间耗尽时,会抛出StackOverflowError错误。 尝试复现问题,代码如下:

  • 我正在使用Guava缓存热数据。当缓存中不存在数据时,我必须从数据库中获取数据: 我的问题是当数据不存在于数据库中时,我希望它返回并且不做任何缓存。但Guava保存与缓存中的关键字,并抛出一个异常,当我得到它: com.google.common.cache.CacheLoader$InvalidCacheLoadExcION: CacheLoader为shisoft键返回null。 我们如何避免