sql 语句报错集

1、关于MyBatis一些小错误,元素内容必须由格式正确的字符数据或标记组成.(oracle)

今天在Mapper.xml文件写查询语句报了个奇怪的错误

Caused by: org.apache.ibatis.builder.BuilderException: Error creating document instance.  Cause: org.xml.sax.SAXParseException; lineNumber: 30; columnNumber: 45; 元素内容必须由格式正确的字符数据或标记组成


原因 : Mapper.xml 文件里  < (小于)号 ,   >(大于)号 ,会被认为是括号,需要额外注意,

解决办法 : 将 < 号换成  <     > 号 换成> 



AND DATE_SUB(CURDATE(), INTERVAL 7 DAY) <=  SEARCH_TIME


接下来就不报错了,但是我发现判断 失败,没有进入到if里

原因 :在xml文件直接判断 ' != ' 是可以的 ,判断 ' == ' 会发生冲突

解决办法  :    在判断的参数后加上toString()方法;

2、mybatis 判断参数中是否有筛选条件以及排序查询代码(此处踩了好久的坑)

2.1(这种方法只能查询1-10条内的数据,大于10条查询时list为[]),所以接下来的才是争取sql语句

 

2.2正确排序分页查询

--sql
select from parent1.* from(
    select parent2.*,rownum rn from(
        select table.* from table where() oder by columname desc
    )parent2
)parent1 where (rn>start / rn<=limit / rn betwwen start and limit 
 
 

 

你可能感兴趣的:(sql)