mybatis中不能出现小于号

    今天写了一段语句,目的就是取得当前时间的秒数与表中的time做减法,然后取得一段时间内的数据,语句如下:

    

SELECT a.* from arena_report a,(SELECT TIMESTAMPDIFF(SECOND,'1970-1-1 8:0:0',NOW()) as currTime) b  
      	WHERE (a.roleId1=#{roleId} or a.roleId2=#{roleId}) AND b.currTime-a.time<604800 ORDER BY a.time desc LIMIT 20;

  这段语句在数据库中执行,是很正常的通过了  但是放在mybatis中,死就是通不过,加载的时候就会报出一段错误,“”The content of elements must consist of well-formed character data or markup“”, 意思就是xml的格式有问题,找了很久,都没有发现有什么问题,最后还是看到有网友说,是因为mybatis不支持“<”号,最后修改了一下 ,发现果然是的,不得不说,真变态啊  坑!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

     修改后的语句为:

     

SELECT a.* from arena_report a,(SELECT TIMESTAMPDIFF(SECOND,'1970-1-1 8:0:0',NOW()) as currTime) b  
      	WHERE (a.roleId1=#{roleId} or a.roleId2=#{roleId}) AND 604800>b.currTime-a.time ORDER BY a.time desc LIMIT 20;

  更新更新:

     感谢各位大大的指正 ,问题不是mybatis不支持“<”,而是xml不支持这个符号,这里我是误读了,也想当然了  ,可以看评论中各位的解释

猜你喜欢

转载自864343928.iteye.com/blog/2318932
今日推荐