select * from ( SELECT * FROM XXL.TLEBL02 WHERE 1=1 AND BILL_LADING_NO = ? ORDER BY [_ljava.lang._string;@1d3972c ) where rownum <= ?
为什么order by的条件变成对象地址了
------解决思路----------------------
你怎么传的?
xml文件里变量两边要加"$"
比如$orderClause$
------解决思路----------------------
不是加#吗! #变量#
楼主最好把XML贴一下!
------解决思路----------------------
首先看下你参数怎么传的,其次是你XML文件怎么配置的!
------解决思路----------------------
在Ibatis中我们使用SqlMap进行Sql查询时需要引用参数,在参数引用中遇到的符号#和$之间的区分为,#可以进行与编译,进行类型匹配,而$不进行数据类型匹配,例如:
select * from table where id = #id# ,其中如果字段id为字符型,那么#id#表示的就是'id'类型,如果id为整型,那么#id#就是id类型。
select * from table where id = $id$ ,如果字段id为整型,Sql语句就不会出错,但是如果字段id为字符型,那么Sql语句应该写成 select * from table where id = '$id$'
------解决思路----------------------
可以进行与编译,进行类型匹配,而$不进行数据类型匹配
例如:
搜索select * from table where id = #id# ,其中如果字段id为字符型,那么#id#表示的就是'id'类型,如果id为整型,那么#id#就是id类型。
select * from table where id = $id$ ,如果字段id为整型,Sql语句就不会出错,但是如果字段id为字符型,那么Sql语句应该写成 select * from table where id = '$id$'
总而言之,#不会子在参数上加"" ,$会加""
------解决思路----------------------
传参数的地方打个断点看看你到底传了什么!