虚拟机做网站安全吗,.net 购物网站开发源代码,手机商城小程序,网络营销推广方案设计我的数据库为Oracle#xff0c;可以插入#xff0c;更新#xff0c;但在在Mybatis中执行SQL查询返回的数据发现返回NULL#xff0c;但是生成SQL放在数据库中查询是有数据的#xff0c;并且SQL是正确的#xff01; 这是没有改动的XML: select idfindAllByParen…我的数据库为Oracle可以插入更新但在在Mybatis中执行SQL查询返回的数据发现返回NULL但是生成SQL放在数据库中查询是有数据的并且SQL是正确的 这是没有改动的XML: select idfindAllByParentid3 resultTypecom.gdls.module.directory.model.Directory SELECT a.* FROM LS_DIRECTORY a where a.USERID#{0} and a.PARENTID#{1} /select 在一次意外中发现通过ID查询是有数据的但是通过多参数查询就没有返回调试通过查询ID返回的数据发现 原因竟然是parentid后面有一大串空格!!!!!我就很郁闷了为啥呢 结果是数据库的PARENTID的数据类型是(Oracle中CHAR类型不足位数时用空格自动补足位数)那么接下来就有两种解决方案
一修改PARENTID为VARCHAR类型
二修改MyBatis中XML查询语句在需要移除空格的列上面加上trim(列名) 我选择的第二种 以下为修改XML查询语句 select idfindAllByParentid3 resultTypecom.gdls.module.directory.model.Directory SELECT a.* FROM LS_DIRECTORY a where trim(a.USERID)#{0} and trim(a.PARENTID)#{1} /select 好了^_^ 完美解决