case mybatis 不同表_解决mybatis case when 报错的问题
在mybatis中使用case when进行条件筛选判断时遇到
Failed to process, please exclude the tableName or statementId.
这样的报错信息,报错的信息是语法错误
但是我在mysql的命令行中运行sql语句是没问题的
//我的case when语句
WHERE dept.type = 1
AND
(
CASE agent.dept_type
WHEN "agent" THEN dept.id=30
END
)
//当agent的dept_type为"agent"时,将添加dept.id = 30的判断
这段sql语句在命令行内运行没问题但是放到mybatis上执行就会报错
//修改后
WHERE dept.type = 1
AND dept.id=
(
CASE agent.dept_type
WHEN "agent" THEN 30
END
)
后来将dept.id放到外面就解决了这个问题
20190718-补充记录 :遇到另一个问题,如果dept这个表是联查来的有可能会没有数据,在dept无数据的时候我们就无法给dept.id赋上啥参数了,并且不可以影响原表数据的查询,我改成了下面这样:
//修改后
WHERE dept.type = 1
AND (dept.id=
(
CASE agent.dept_type
WHEN "agent" THEN 30
ELSE 0
END
) or dept.id is null)
添加dept.id为空的判断即可
(在mysql语句里可以有很多方法解决,但是在mybatis上就会报错 -_-||)
2019-7-30-补充说明:
如果是空字符串不可以使用""要改成单引号''
CASE WHEN *** THEN ***
ELSE "" =>这样也会报错,需要改成=> ELSE''
补充:Mybatis case when test 注意事项
p_id areaId,
c_id areaId,
r_id areaId,
test 中 用 == 不能用 = ,否则报错。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。
case mybatis 不同表_解决mybatis case when 报错的问题相关推荐
- python安装报错类型_解决Python安装cryptography报错问题
解决Python安装cryptography报错问题 错误一: gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wst ...
- java fastjson 泛型_解决fastjson泛型转换报错的解决方法
错误信息 Exception in thread "main" java.lang.ClassCastException: com.alibaba.fastjson.JSONObj ...
- python打开文件报错无效序列_解决Python 写文件报错TypeError的问题
处理上传的文件: f1 = request.FILES['pic'] fname = '%s/%s' % (settings.MEDIA_ROOT, f1.name) with open(fname, ...
- python连接数据库mysql失败_解决python连接mysql报错问题
解决python连接mysql报错问题 最近跑python脚本时遇到一个问题,当sql语句中有中文时,执行python脚本报以下错误: Traceback (most recent call last ...
- python运行启动报错解决方法_解决python运行启动报错问题
解决python运行启动报错问题 问题一: python启动报错api-ms-win-crt-process-l1-1-0.dll丢失 解决: 下载api-ms-win-crt-process-l1- ...
- long类型转成integer类型避免空指针的方法_解决swagger的类型转换报错问题
今天发现项目启动时,会打印一堆报错.吓了一跳. 查看之后发现是swagger的错误提示.并不影响功能.但是看着一堆错误,也闹心不是? 所以还是要解决一下. 2020-11-04 10:50:46,38 ...
- python mysqldb安装_解决centos7 安装MySQLdb-python 报错 方案
运行 pip install MySQL-Python 报错: 云服务器 Command python setup.py egg_info failed with error code 1 in 继续 ...
- mysql封装执行_解决Mysql封装类执行报错——Mysql::insert() should not be called
今天在写程序的时候使用了别的程序员写的一个Mysql封装类,但是执行后php会报错:Strict standards: Non-static method Mysql::insert() should ...
- ueditor上传图片回调_(常见解决方法)UEditor报错“后端配置项没有正常加载,上传插件不能正常使用”...
(常见解决方法)UEditor报错"后端配置项没有正常加载,上传插件不能正常使用"_向来萧瑟也无畏-CSDN博客blog.csdn.net 报错信息 详见此文的"排错过 ...
最新文章
- CSS使用浮动属性和边距设计3行3列定宽的布局实例
- ASIHTTPRequest的环境配置和使用示例
- 电脑显示器变色_两千元档超强电竞小金刚:180hz的泰坦军团T27QR显示器
- ActiveMQ添加商品发送消息
- Django 与ajax交互
- 如何在maven的setting.xml中指定jdk版本(详细步骤)
- leetcode 515. 在每个树行中找最大值(层序遍历06)
- spring连接jdbc_在Spring JDBC中添加C3PO连接池
- My new iMac 27
- 计算机应用基础山东大学,山东大学计算机应用基础
- 合肥师范学院计算机操作系统期末考试题,2005级操作系统期末试卷A卷及答案
- PPDE三星私有协议
- 各大市场应用上架整理
- 实战使用pano2vr生成html5全景页面
- PDCA过程模式在信息安全管理体系的应用
- windwos11降级,重装Windows10
- 使用nginx代理实现前后端分离开发调试,零基础教程
- android 动态库符号表,Android NDK隐藏jni动态库的内部符号表
- TX2(Ubuntu16.04)安装TP-link外接网卡驱动及AP热点创建
- Web基础-JSON和AJAX
热门文章
- 机器学习的练功方式(十)——岭回归
- 浮动的清除 -- 四种方法
- win7 下的 cmdhere 及其他
- React开发(206):react代码分割之context的api
- React开发(202):react代码分割之import导入导出
- React开发(172):React引入背景图片
- Taro+react开发(57) 图片引入
- 前端学习(3030):vue+element今日头条管理-顶部导航栏布局
- 前端学习(2938):vue对象之间的实例属性ref
- [html] 为什么我们要使用web workers?