使用 mybatis 的@Select 注解,

@Select({ "<script>select " + ALL_COLUMNS + " from " + TABLE_NAME,
" where type = 2 and territory_id in "
+ "<foreach collection='crmTerritoryIds' item='territoryId' index='index' open='(' close=')' "
+ "separator=','>"
+ "#{territoryId} </foreach></script>" })
public List<Area> selectAreaByTerritoryIds(@Param("crmTerritoryIds") List<Long> crmTerritoryIds);

跑单测提示我

Parameter 'territoryId' not found

可是我检查了无数遍语法,语法没有问题。

最后发现是我的<script></script>的问题。

我自己敲的是 utf-8的编码,而mybatis 之前代码生成的是 gbk 的编码。。。。这样的错误真不好找。

我就是自己记一下,给自己提个醒~~~~好坑爹的问题,害的我查了一下午

mybatis 使用@Select 注解,因为字符编码不一致导致mybatis 报错的更多相关文章

  1. thrift 版本不一致导致 @Override 报错

    thrift 版本不一致导致 @Override 报错 学习了:http://blog.csdn.net/antony1776/article/details/78920888 版本不一致导致的: 在 ...

  2. @Select注解的情况下,重载的报错

    在编写代码的时候,我对查询这个方法进行了重载,这样调用的时候会根据参数的不同,进而去执行不同的操作,但是......问题来了.想法都是美好的,实际情况却不是我理想的状态.运行代码的时候他动了几下,然后 ...

  3. SpringBoot Mybatis整合(注解版),SpringBoot集成Mybatis(注解版)

    SpringBoot Mybatis整合(注解版),SpringBoot集成Mybatis(注解版) ================================ ©Copyright 蕃薯耀 2 ...

  4. Mybatis中@select注解联合查询

    前言 在项目中经常会使用到一些简单的联合查询获取对应的数据信息,我们常规都是会根据对应的mapper接口写对应的mapper.xml的来通过对应的业务方法来调用获取,针对这一点本人感觉有点繁琐,就对@ ...

  5. Tomcat 编码不一致导致乱码

    众所周知,Tomcat是一个基于HTTP协议的Java应用服务器(非Web服务器),也是一个Servlet容器. 一般我们会基于使用HTTP协议的Post或Get方法来传递内容或参数,中间会涉及一些编 ...

  6. Mybatis 实体类使用@Accessors(chain = true)注解时,对应的mapper xml 报错

    去掉这个注解就行了 应该是 mybatis 会调用实体类的 getter  setter 方法, 返回值可能会有所影响

  7. mysql group by 过滤字段 只能在SELECT 后面出现,不能写其他字段 报错解决 关键字 sql_mode=only_full_group_by

    1:报错  关键字 sql_mode=only_full_group_bymysql> select uuid,ip,count(*) from dbname_report.t_client_i ...

  8. 代码编译时JDK版本和运行时JDK版本不一致启动项目报错

    java编译: java编译就是.java文件变成.class文件的过程,这个过程一般在我们常用的编译器中进行,例如Ecliplse和IDEA等:下面以IDEA举例: 执行上述编译使用的JDK版本就是 ...

  9. 启动PL/SQL Developer 报字符编码不一致错误,Database character set

    错误内容: Database character set (AL32UTF8) and Client character set (ZHS16GBK) are different. Character ...

随机推荐

  1. selenium相关面试题

    selenium中如何判断元素是否存在? selenium中hidden或者是display = none的元素是否可以定位到? selenium中如何保证操作元素的成功率?也就是说如何保证我点击的元 ...

  2. CodeForces462B

    Appleman and Card Game Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & % ...

  3. MyBatis绑定错误--BindingException:Invalid bound statement (not found)

    如果出现: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 一般的原因是Mapper i ...

  4. [html] 学习笔记--Web存储

    HTML5 提供了两种在客户端存储数据的新方法之前,这些都是由 cookie 完成的.但是 cookie 不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得 cookie 速度很慢而且效 ...

  5. webpack 学习心得(一)

    Webpack 是一个模块打包器.它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源. 因为本人也正在学习webpack ,所以此篇文章比较入门. 首先你想使用webp ...

  6. 有趣的++i和i++

    作为一个天天和代码“约会”的人来说i++和++i这玩意再熟悉不过了,因为使用频率太高了. 虽然如此,但也未必见得我们真的了解她,不妨猜猜下面的输出结果. #inlcude <stdio.h> ...

  7. 一个可以提高开发效率的Git命令-- Cherry-Pick

    在实际的项目开发中(使用Git版本控制),在所难免会遇到没有切换分支开发.需要在另一个分支修改bug然后合并到当前分支的情况.之前遇到这种第一反应就是将分支合并过去来解决问题.如果你那些提交当中也穿插 ...

  8. 关于hashmap的底层实现

    注:以下内容并非基于最新的jdk版本 q1:hashmap为什么叫hashmap? 答:hashmap基于hashtable(不是hashtable类)实现. q2:hashtable(不是hasht ...

  9. redis安装-单机版

    环境准备 因为redis使用c语言开发的,如果要运行在linux上,需要gcc-c++的环境.那么我们就要先看一下是否安装了gcc-c++如果没有的话,需要在虚拟机上安装gcc-c++环境(友情提示, ...

  10. (转)JAVA的整型与字符串相互转换

    JAVA的整型与字符串相互转换1如何将字串 String 转换成整数 int? A. 有两个方法: 1). int i = Integer.parseInt([String]); 或         ...