我有一个奇怪的问题,我不完全确定它在哪里。我有一个简单的嵌套的where子句如下:MyBatis和Nested Where子句
SELECT *
FROM events
WHERE
( e_start_date_and_time >= '2014-09-11 20:16:00.0'
AND e_end_date_and_time <= '2014-09-12 20:16:00.0'
)
AND
(
e_name LIKE "Some message"
OR e_description LIKE "Some message"
OR e_location LIKE "Some message"
)
当我运行MySQL工作台此查询,我得到2行返回。但是当我把这个查询放入一个mybatis映射文件中时,没有行被返回。我通过打开java.sql调试并在selectList方法之前放置一个断点,排除了代码中的某些内容。我得到的输出如下:
2014-10-26 18:21:20,420 | DEBUG | [java.sql.Connection] | ==> 准备:SELECT * FROM events WHERE(e_start_date_and_time> =?AND e_end_date_and_time < =>?)AND(e_name LIKE?OR e_description LIKE?or e_location LIKE?)2014-10-26? 18:21:20,726 | DEBUG |
[java.sql.PreparedStatement] | ==>参数:2014-09-11 20:16:00.0(Timestamp),2014-09-12 20:16:00.0(Timestamp),“Some message”(String),“Some message”(String), “一些消息”(字符串)
有没有人有任何想法,为什么这可能是?
你可以尝试使用''一些message'',而不是' “一些信息”'? – Payam 2014-10-26 20:11:13
我仍然有同样的问题。 – EmeraldAegis 2014-10-26 20:35:14