2 agoni xiaoen agoni_xiaoen 于 2016.04.18 14:55 提问

mybatis传值if条件问题

图片说明类的属性为Integer,传值为0,mybatis里面写if条件

AND br_state = #{brState}

传值传不进去,把条件改为

AND br_state = #{brState}

就可以了,难道0==''?

4个回答

CSDNXIAON
CSDNXIAON   2016.04.18 15:03

mybatis if 条件判断 = like
在javascript中,哪些值能作为if的条件呢
【mysql】insert ... on duplicate key update column=IF(条件,值1,值2 ) 简直神一样的操作
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

fk002008
fk002008   2016.04.18 15:09

你写的条件是什么啊
这里看不到啊
对于sql的判断条件

你使用
你试试

agoni_xiaoen
agoni_xiaoen 原来标签被屏蔽掉了==。我截图了。。。
大约 2 年之前 回复
agoni_xiaoen
agoni_xiaoen 原来标签被屏蔽掉了==。我截图了。。。
大约 2 年之前 回复
u010159353
u010159353   2016.04.18 15:29

除了字符串类型,一般的都直接判断null就可以了

u010159353
u010159353 不是特别清楚MyBatis的原理,但是我之前是遇见过这样的问题,除了字符串以外,其他的都不应该加上与空字符串的比较,本身类型就不匹配
大约 2 年之前 回复
agoni_xiaoen
agoni_xiaoen 但是0也不为空啊,为什么就不行呢?
大约 2 年之前 回复
fk002008
fk002008   2016.04.19 10:41

条件写错了

那是因为你写的条件是 test="brState!= “”

因为你这个brState的值是和字符串比较所以字符串要用""双引号表示,不能用单引号。

那么就可以把test处的双引号改为单引号

test = 'brState!= "" '

就可以了

agoni_xiaoen
agoni_xiaoen 我试了,不是这个问题。。。照你这么做0还是传不进来。。。
大约 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
mybatis #传值 与$传值区别
动态 sql 是 mybatis 的主要特性之一,在 mapper 中定义的参数传到 xml 中之后,在查询之前 mybatis 会对其进行动态解析。mybatis 为我们提供了两种支持动态 sql 的语法:#{} 以及 ${}。   在下面的语句中,如果 username 的值为 zhangsan,则两种方式无任何区别: select * from user where name
Mybatis where in语句如何传参数
比如参数:String wareIds =”D2D5D8BF,D2D5D8C6”; 首先要转成List类型 List wareIdList = Arrays.asList(wareIds.split(“,”)); 创建方法: public Map
mybatis三种传值方式
第一种方案  DAO层的函数方法  Public User selectUser(String name,String area); 对应的Mapper.xml   select * from user_user_t where user_name = #{0} and user_area=#{1} 其中,#{0}代表接收的是dao层中的第一个参数,#{1}代
mybatis的map传值
开始的时候是这样写的   update fm_user set user_grade=#{pd.user_grade} where id=#{pd.id}   一直修改不了数据 后来尝试多次发现map传值的时候 在#{}里面直接写键的值就可以了,不能加上pd. 写上来记录下
mybatis 使用一个参数传递数值 sql主要是使用到 in
今天在做公司的一个项目的时候要使用到mybatis,在查询语句中要使用 in 函数,但是使用不同的设置 汇报无效的数字,在一番测试和查找后,终于找到一个比较好的解决方法 sql语句写法: <select id="findByPrimaryKey" resultType="com.bz.cy.model.TbMemShopping" parameterType="java.lang.Stri
关于mybatis的if判断里传入0时的问题
传入一个id,如果id不为空则只查询该id的数据 select * from A        and ID=#{id,jdbcType=DECIMAL}   但是id传值为0时,发现并没有执行if里的sql,因为在mybatis中会自动把0当成null,所以if判断为false,如果要传值为0时判断为true需要加一个判断       and ID=
mybatis中association的column传入多个参数值
顾名思义,association是联合查询。 在使用association中一定要注意几个问题。文笔不好,白话文描述一下。 1: fncg_PD_QRY_MANAGE 是哪来的?看红色部分, public class FNCG_PD_QRY extends BasePO{ private String COD_FN_ENT; private String COD
mybatis的sql的xml的配置文件中where条件中like的用法。
具体文档代码如下: resultType="com.hzcominfo.voucher.mapper.zsh.Faemp"> SELECT * FROM FAEMP where gid = #{gid} resultType="String"> SELECT gid FROM FAEMP resultType="long"> SELEC
Mybatis 动态加载sql when otherwise choose 理解成if else 条件中可以把传来的参数当变量
[一步是咫尺,一步即天涯] 接上文,由于篇幅的关系,我们继续来叙述动态变化的条件查询。上文中,我们实现了两种需求的查询:1.条件数量不可知的查询,2.集合类型条件的查询。本文,我们来介绍第三种需求的查询:在某一个限制条件下的,条件数量不可知或者集合属性的查询。即,假设我们需要查询:指定部门下的,符合某些信息的员工。明确目标之后,我们来正式开始介绍操作步骤吧 准备工作:
MyBatis In的使用
项目中where条件中用到in,我理所当然的拼了个字符串传进去了,郁闷的是程序一直运行正常,测试case一直没有覆盖到这种情况,今天发现了,原来是程序的问题,我以为mybatis有bug呢。。。。。故记下此问题,留作笔记。                       1.解决方法(多参数)                Map.xml