今天使用mybatis开发公司中台项目踩的一个坑,分享并记录一下 踩坑前因:因项目中比较多状态字段,用了大量的Integer 0和1进行判断 在功能做完后只是粗略的点了下觉得没多大问题(来自程序员强大的自信),便提交了代码,很不巧的是刚好领导在做功能测试,发现了功能缺陷,主角来了: 在做牧户 ...
在mybatis框架中进行参数非空或者字符串比较判断时: lt if test mnyType gt 因为mybatis是用OGNL表达式解析的,在OGNL表达式中 会被解析成字符串,又因为Java是强类型的,char和string会导致不相等,所以 if 标签中的SQL不会被解析。 因此单个字符要写到双引号里面或者使用 .toString 才可以,比如正确的写法如下 lt if test mny ...
2020-04-02 09:38 0 3846 推荐指数:
今天使用mybatis开发公司中台项目踩的一个坑,分享并记录一下 踩坑前因:因项目中比较多状态字段,用了大量的Integer 0和1进行判断 在功能做完后只是粗略的点了下觉得没多大问题(来自程序员强大的自信),便提交了代码,很不巧的是刚好领导在做功能测试,发现了功能缺陷,主角来了: 在做牧户 ...
下边看一下mybatis的映射文件。 <insert id="AddTeacher" parameterType="com.mycompany.entity.Teacher"> <selectKey keyProperty="count" resultType="int ...
1、if标签语法 注意:条件表达式中大于号小于号用 gt,lt mapper xml代码: mapper 接口代码: ...
一:List<UserVo> list(@Param("nickName") String nickName); <select id="list" resultMap="Resu ...
问题场景 需求如下:需要根据传入的单个字符串进行判断 在此时物料type传递"1"还是"2",这个<if>都不会生效,还会报错。 原因分析 是mybatis是用OGNL表达式来解析的,在OGNL的表达式中,'1'或'2'这种类的都会被解析成字符,而java又是 ...
昨天在使用mybatis的if判断integer时遇见一个小问题: 我发现前段同事调用接口的时候传参总是无法进入条件, 原来mybatis的if将0认为是'',所以这样判断是无法进入条件的,将数字换为1,2之类的就可以了; ...
使用mybatis框架在写sql的时候碰到一个异常: 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version ...
...