oracle nvarchar2 varchar在mybatis中怎么配置
2个回答
展开全部
今天发现一个非常奇怪的现象,同样的SQL语句,在PL/SQL中能查询到结果,放到MyBatis下怎么也查不出东西。后来仔细研究,发现如下问题:
1、如果数据库中定义的字段为CHAR(20),而传入的参数只有18位,在PL/SQL中会该工具应该会自动的去除空格或者添加空格以便进行匹配;
2、但是在MyBatis中,没有这样的功能,使用=#{paramName}根本查询不到结果。
3、所以解决方式是:使用like '${paramName}%'来处理或者把对应的数据字段更改为VARCHAR2类型。
1、如果数据库中定义的字段为CHAR(20),而传入的参数只有18位,在PL/SQL中会该工具应该会自动的去除空格或者添加空格以便进行匹配;
2、但是在MyBatis中,没有这样的功能,使用=#{paramName}根本查询不到结果。
3、所以解决方式是:使用like '${paramName}%'来处理或者把对应的数据字段更改为VARCHAR2类型。
2018-07-30 · 知道合伙人软件行家
关注
展开全部
今天发现一个非常奇怪的现象,同样的SQL语句,在PL/SQL中能查询到结果,放到MyBatis下怎么也查不出东西。后来仔细研究,发现如下问题:
1、如果数据库中定义的字段为CHAR(20),而传入的参数只有18位,在PL/SQL中会该工具应该会自动的去除空格或者添加空格以便进行匹配;
2、但是在MyBatis中,没有这样的功能,使用=#{paramName}根本查询不到结果。
3、所以解决方式是:使用like '${paramName}%'来处理或者把对应的数据字段更改为VARCHAR2类型。
1、如果数据库中定义的字段为CHAR(20),而传入的参数只有18位,在PL/SQL中会该工具应该会自动的去除空格或者添加空格以便进行匹配;
2、但是在MyBatis中,没有这样的功能,使用=#{paramName}根本查询不到结果。
3、所以解决方式是:使用like '${paramName}%'来处理或者把对应的数据字段更改为VARCHAR2类型。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询