换了份工作,开始接触Mybatis,开一篇文章记录一下自己遇到的坑

2018-06-20
今天遇到了一个问题,编好的sql语句在数据库可以执行但是写到程序里边就GG,什么问题呢?一直纠结在程序哪里写错了,找的快要死了!!!

select t.* from table_B where t.usr_id in (#{userIds})

sql语句就是如上这句话,参数是经过处理的原参数为(XXX,YYY,OOO)类似模式,处理之后('XXX','YYY','OOO')

报错为什么呢?想通了很简单,想不通很难受

仅仅是因为系统会将你传进来的 参数作为一个字符串处理,等同于(" 'XXX','YYY','OOO' ") (添加空格纯粹是为了看的更清楚)

原sql语句就会变成select t.* from table_B where t.usr_id in (" 'XXX','YYY','OOO' ")

你的理想sql语句为:select t.* from table_B where t.usr_id in ( 'XXX','YYY','OOO' )

SO,你不会得到任何返回结果,而sql语句在数据库的执行是没有丝毫问题的

MyBatis正在爬的坑的更多相关文章

  1. legend2---lamp.sh一键安装lamp环境需要爬的坑

    legend2---lamp.sh一键安装lamp环境需要爬的坑 一.总结 一句话总结: 1.要记得更改项目权限:chown -R apache:apache /data/www/default/网站 ...

  2. Mybatis使用 爬坑记录

    1.mapper.xml可以直接 使用map集合, parameterType="java.util.Map" resultType="java.util.Map&quo ...

  3. Mybatis的失误填坑-java.lang.Integer cannot be cast to java.lang.String

    Mybatis的CRUD小Demo 为方便查看每次的增删改结果,封装了查询,用来显示数据库的记录: public static void showInfo(){ SqlSession session ...

  4. MyBatis 一级缓存避坑

    MyBatis 一级缓存(MyBaits 称其为 Local Cache)无法关闭,但是有两种级别可选: package org.apache.ibatis.session; /** * @autho ...

  5. LocalDatetime 与 mybatis、json的坑

    总所周知,localdatetime是jdk8 推出的关于日期计算非常方便地一个类,一旦开始用上就欲罢不能.但是在使用的时候,坑还是蛮多的. 一.mybatis与LocalDatetime 如果直接将 ...

  6. spring mvc mybatis集成踩的坑

    开园这么多年了也没写几篇文章,现在想想光看别人的也不行啊,咱也自己写写,就写这天我我在做spring mvc与mybatis的集成时遇到的问题 1 spring与mybatis的集成 这个相信大家都弄 ...

  7. Mybatis 搭建遇到的坑

    1. <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC " ...

  8. springboot整合mybatis遇到的那些坑

    1.接口类(指*Mapper.java)在spring中注册的问题 当控制台打印如下信息: A component required a bean named '*Mapper' that could ...

  9. mybatis匹配字符串的坑

    where语句中我们经常会做一些字符串的判断,当传入的字符串参数为纯数字时,在mybatis的条件语句test里匹配全数字字符串需要注意会有如下现象: 所以里面的字符串需要加单引号,mybatis是匹 ...

随机推荐

  1. Python_selenium之获取页面上的全部邮箱

    Python_selenium之获取页面上的全部邮箱 一.思路拆分 获取网页(这里以百度的“联系我们”为例),网址http://home.baidu.com/contact.html 获取页面的全部内 ...

  2. 解决finalflares 安装成功后无法显示问题

    按照网上的安装方法:http://blog.sina.com.cn/s/blog_e9370eb80101gias.html 安装插件并破解,安装过程没有任何错误,但是打开max2012始终看不到这个 ...

  3. MVC结构简介

    本文编译自J2EE的相关文档.MVC(Model-View-Controller)应用程序结构被用来分析分布式应用程序的特征.这种抽象结构能有助于将应用程序分割成若干逻辑部件,使程序设计变得更加容易. ...

  4. leveldb学习笔记

    LevelDB由 Jeff Dean和Sanjay Ghemawat开发. LevelDb是能够处理十亿级别规模Key-Value型数据持久性存储的C++ 程序库. 特别如下: 1.LevelDb是一 ...

  5. label 两次点击 事件冒泡 使用时间戳的解决方案

    情况描述:在页面中input 和 label 通过for banding 然后点击input 或者label的时候都要执行一个方法   但是在点击label的时候有两次执行两次的情况,及监听到的cli ...

  6. 【BZOJ5070】危险的迷宫 最小费用最大流

    [BZOJ5070]危险的迷宫 Description JudgeOnline/upload/201710/55.doc Input 第一行是两个整数A与B(1≤A,B≤10),中间用空格分隔,表示该 ...

  7. iOS平台iPhone和iPad免费开放源代码游戏案例列表

    此页面列表收集的是一些iPhone和iPad等iOS操作系统的开放源代码(Open Source)游戏.这些iOS开源游戏都是曾经或正发布在App Store.列表中的这些iOS开源游戏都是使用主流的 ...

  8. WebBench----简洁优美的网站压力测试工具

    [root@c webbench]# webbench -c 10 -t 20 http://www.baidu.com/Webbench - Simple Web Benchmark 1.5Copy ...

  9. Unix file types

    w https://en.wikipedia.org/wiki/Unix_file_types A socket is a special file used for inter-process co ...

  10. Python__return

    return的注意点: return返回的值, 没有任何类型限制 return是函数结束的标志,函数内可以写多个return,但执行一次,函数就立刻结束,并把return后的值作为本次调用的返回值.