jdbc后接?useUnicode=true&characterEncoding=UTF-8為何還是查詢不到?另外我發(fā)現(xiàn)不是文中的問題,英文也一樣
我看log4打印出來的是?
數(shù)據(jù)庫的連接 我用的是JDBC的同一套,所以編碼什么的沒問題
在Dao層中我打印了下傳入Dao的參數(shù)
message.setCommand(command); System.out.println("DAO接受的參數(shù):"+message.getCommand());
打印的結(jié)果就是我輸入的
接下來就是傳入Mybatis了
接收參數(shù)部分的xml,指定參數(shù)類型為com.imooc.servlet.Message
<select?id="queryMessageList"?parameterType="com.imooc.servlet.Message"?resultMap="UserResult"> ??select?ID,COMMAND,DESCRIPTION,CONTENT?from?message?where?1=1 ????<if?test="command?!=?null"> ????????and?COMMAND?=?#{command} ????</if> ????<if?test="description?!=?null"> ????????and?DESCRIPTION?like?'%'?#{description}?'%' ????</if>
執(zhí)行后的結(jié)果:
通過表單傳入的參數(shù)為:查看
DAO接受的參數(shù):查看
==> ?Preparing: select ID,COMMAND,DESCRIPTION,CONTENT from message where 1=1 and COMMAND = ??
==> Parameters: (String)
這里為什么顯示的是? ?看參數(shù)收到的是個不能解析的,或者就是個空?
(后面看了下直接傳也是問號,但是Parameters: (String)這里有值,通過對象就沒有)
如果我直接指定String參數(shù)
<select?id="queryMessageList"?parameterType="String"?resultMap="UserResult"> ??select?ID,COMMAND,DESCRIPTION,CONTENT?from?message?where?1=1?and?COMMAND=#{_parameter} </select>
messageList?=?sqlSession.selectList("Message.queryMessageList","查看");
查看是沒問題的
為什么傳入一個對象的時候出錯了?
已經(jīng)找到問題了,commad被初始化了,一般查不到的加?useUnicode=true&characterEncoding=UTF-8就可以了
2017-06-15
加了?useUnicode=true&characterEncoding=UTF-8還是不行啊
2017-06-15
哪個地方寫錯了啊
求指出啊
2016-12-29
我和你差不多求答案。。
2016-12-22
“com.imooc.servlet.Message”Message是實(shí)體類中的Message吧
不是servlet的,改成com.imooc.bean.Message
2016-12-22
xml中除了parameterType外,我什么都沒改,但是就可以了
2016-12-22
換了另一種方式,傳入一個Map是可以的
傳入對象不行
但是這個parameterType="com.imooc.servlet.Message" 確實(shí)是我創(chuàng)建的地址啊
2016-12-22
你把where 1=1去掉,然后在if標(biāo)簽外包著where標(biāo)簽? 試試