【发布时间】:2015-03-27 05:23:12
【问题描述】:
我正在尝试将 mybatis 用作 Oracle SQL 的 ORM。 我有一个名为 login_details 的表,其中包含存储时间戳的“login_time”(Timestamp(6)) 列。
现在我想要一个登录时间超过 10 分钟的记录。 所以我尝试了一个查询
SELECT * FROM login_details WHERE username = 'abc' AND (SYSDATE - login_time) > interval '10' MINUTE
在 DBVisualiser 中工作。 我把这个查询放在mybatis中如下
SELECT * FROM login_details WHERE username = #{username} AND (SYSDATE - login_time) > interval '10' MINUTE
如上图我把它放入mybatis select标签时它不起作用。 而不是这个,我尝试了
SELECT * FROM login_details WHERE (TO_DATE ('06/03/2015 23:45:34' , 'dd/MM/yyyy HH24:MI:SS') - login_time) > interval '10' MINUTE
在 mybatis 中有效。
mybatis的SYSDATE好像有问题
请指导我解决这个问题
【问题讨论】:
-
我对mybatis不是很熟悉,但是可以试试带括号的查询吗?所以就像这样
sysdate() -
但相同的查询不起作用是不可接受的错误。您需要解释错误是什么。
-
@Lalit Kumar Bthanx 回复。但没有显示错误。但查询不返回任何内容
-
如果在
XML内部,您需要转义<吗?
标签: java oracle oracle11g mybatis