我有一個奇怪的問題,我不完全確定它在哪裏。我有一個簡單的嵌套的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