我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mybatis如何传入null值

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mybatis如何传入null值

这篇文章给大家分享的是有关mybatis如何传入null值的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

mybatis 传入null值解决

前端传入两个值,如果其中一个为null时,很多时候我们都很困惑,明明传入的是null,为啥mybatis 的xml文件中的if条件判断无效?

public String getPersonInfo(@PathParam("Name") String Name, @PathParam("IDCard") String IDCard)

dao层

public List<Map> getPersonInfo(@Param("name") String name, @Param("idcard") String idcard);

xml文件内容

<if test="name == null or name == '0'.toString()">     <![CDATA[ and (b.identity_id = #{idcard,javaType=String,jdbcType=VARCHAR})    group by name,id_card,birthTime,sex  ]]> </if>

每次执行都是失败的,网上很多都说要在dao层添加@param注解和xml文件内容中要加入jdbcType类型就能解决,最后还是没解决

其实还有一个点忽略了,就是传入时的null值其实是个字符串null,根本就不是null,它是个字符串null

        if (Name == null || "null".equalsIgnoreCase(Name)) {            Name = null;        }        if (IDCard == null || "null".equalsIgnoreCase(IDCard)) {            IDCard = null;        }

问题解决!

mybatis 注入老是为null

今天遇到个很弱智的问题,以此记录!时刻提醒自己

    public int delExhibion(List<String> ids){        Integer result = null;        ExhibitionManager exhibitionManager = new ExhibitionManager();        for (String id : ids){            exhibitionManager.setId(id);            exhibitionManager.setDelFlag("1");             result += exhibitionManagerMapper.delete(id);        }        return result;    }

发现老是执行 delete 的时候 ,老是报 空指针异常

mybatis如何传入null值

然后尝试使用:  @Param  给参数加上命令     

int delete(@Param("id") String id);

结果还是不行,

然后在尝试使用:对象传参,这样总该注入进去了吧 

int delete(Object dx);

结果还是不行,

然后在尝试使用:Mybatis 单个参数动态语句引用:

是当我们的参数为String时,在sql语句中#{id} 会去我们传进来的参数调getId()方法获取参数,很明显,String没有对应的方法,所以报错了,那我们这里要如何引用id呢,需要采用下面的写法:

<delete id="delete" parameterType="java.lang.String" >           SELECT * FROM table         <where>                     <if test="_parameter != null">                              AND id= #{id}                     </if>           </where>  </select>

单Mybatis传参为单个参数时,在sql语句中需要使用  _parameter 来引用这个参数

结果还是不行。  

终于过了一会儿,看代码时突然顿悟

    public int delExhibion(List<String> ids){        Integer result = null;        for (String id : ids){             result += exhibitionManagerMapper.delete(id);        }        return result;    }

Integer  result  我给他设置默认值  为null,   并且还让  reuslt  这个对象   result +=   

加等于在执行数据库操作返回结果时 用 result 去接收。 这不就一定是空指针了吗。

我给 Integer result = 0;  设置个默认值为0   那也不会出现这种情况!

或者 result =   给result  初始化赋值     也不会报  空指针异常!  不过这样做在我的业务中是不对的哦。  只是不会报错. 但是获取不到我想要的执行成功条数

Integer result = null;result =  exhibitionManagerMapper.delete(id);

真的是被自己气到了。以此记录!时刻提醒自己   

 public int delExhibion(List<String> ids){        Integer result = 0;        for (String id : ids){             result += exhibitionManagerMapper.delete(id);        }        return result;    }

感谢各位的阅读!关于“mybatis如何传入null值”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mybatis如何传入null值

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

mybatis如何传入null值

这篇文章给大家分享的是有关mybatis如何传入null值的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。mybatis 传入null值解决前端传入两个值,如果其中一个为null时,很多时候我们都很困惑,明明传入的
2023-06-29

java如何判断空值和null值

在Java中,可以使用以下方法来判断一个值是空值还是null值:1. 判断字符串是否为空值或者null值:```javaString str = "";// 判断是否为空值if (str.isEmpty()) {System.out.pri
2023-08-24

MySQL中如何处理NULL值

在MySQL中,可以使用以下方式处理NULL值:使用IS NULL和IS NOT NULL操作符来判断NULL值:SELECT * FROM table_name WHERE column_name IS NULL;SELECT * FR
MySQL中如何处理NULL值
2024-03-06

mybatis plus如何更新字段为null

本篇内容主要讲解“mybatis plus如何更新字段为null”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mybatis plus如何更新字段为null”吧!mybatis plus 将字段
2023-06-29

如何处理MySQL中的NULL值

在MySQL中,可以使用以下方法处理NULL值:检查NULL值:使用IS NULL或IS NOT NULL操作符来检查NULL值。例如,可以使用以下查询来检查一个列是否包含NULL值:SELECT *FROM table_nameWHE
如何处理MySQL中的NULL值
2024-04-09

如何在mybatisPlus中更新null 值

如何在mybatisPlus中更新null 值?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。发现mybatisPlus会更新对象属性为null的值,与field-strat
2023-06-06

php数组如何去掉null值

这篇文章主要讲解了“php数组如何去掉null值”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php数组如何去掉null值”吧!方法:1、循环遍历数组,语法“foreach($arr as
2023-06-30

java如何赋值给Null的对象

在Java中,可以使用关键字"null"将一个对象赋值为null。例如:```javaObject obj = null;```在上述代码中,将一个Object类型的变量obj赋值为null。这意味着该变量不引用任何对象,它的值为null。
2023-08-24

如何理解vue父子传值,兄弟传值,子父传值

本篇内容主要讲解“如何理解vue父子传值,兄弟传值,子父传值”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何理解vue父子传值,兄弟传值,子父传值”吧!一、父组件向子组件传值1.父组件.vue
2023-06-25

使用mybatis执行SQL语句时有参数出现返回NULL值如何解决

今天就跟大家聊聊有关使用mybatis执行SQL语句时有参数出现返回NULL值如何解决,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。原来的写法: