MyBatis对Oracle的CHAR和VARCHAR2的处理


今天发现一个很是奇怪的现象,一样的SQL语句,在PL/SQL中能查询到结果,放到MyBatis下怎么也查不出东西。后来仔细研究,发现以下问题:数据库

一、若是数据库中定义的字段为CHAR(20),而传入的参数只有18位,在PL/SQL中会该工具应该会自动的去除空格或者添加空格以便进行匹配;工具

二、可是在MyBatis中,没有这样的功能,使用=#{paramName}根本查询不到结果。spa

三、因此解决方式是:使用like '${paramName}%'来处理或者把对应的数据字段更改成VARCHAR2类型。数据

相关文章
相关标签/搜索