第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

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&amp;characterEncoding=UTF-8就可以了

正在回答

7 回答

加了?useUnicode=true&amp;characterEncoding=UTF-8還是不行啊



0 回復(fù) 有任何疑惑可以回復(fù)我~

哪個地方寫錯了啊

求指出啊

0 回復(fù) 有任何疑惑可以回復(fù)我~

我和你差不多求答案。。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

未卜先知 提問者

我有一個地方寫錯了,command被初始化了
2016-12-29 回復(fù) 有任何疑惑可以回復(fù)我~

“com.imooc.servlet.Message”Message是實(shí)體類中的Message吧

不是servlet的,改成com.imooc.bean.Message

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

未卜先知 提問者

我換了,也是一樣,這個只是包位置的區(qū)別吧,除非他有一套看起來像是注冊的機(jī)制
2016-12-22 回復(fù) 有任何疑惑可以回復(fù)我~
Map<String,Object>?params?=?new?HashMap<String,Object>();
params.put("command",command);
params.put("description",description);

xml中除了parameterType外,我什么都沒改,但是就可以了

<select?id="queryMessageList"?parameterType="java.util.Map"?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>
</select>


0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

未卜先知 提問者

上面代碼有問題
2016-12-22 回復(fù) 有任何疑惑可以回復(fù)我~
#2

未卜先知 提問者

<if test="command != null and command.length()>0"> and COMMAND = #{command} </if> <if test="description != null and description.length()>0"> and DESCRIPTION like '%' #{description} '%' </if>
2016-12-23 回復(fù) 有任何疑惑可以回復(fù)我~

換了另一種方式,傳入一個Map是可以的

傳入對象不行

但是這個parameterType="com.imooc.servlet.Message" 確實(shí)是我創(chuàng)建的地址啊

0 回復(fù) 有任何疑惑可以回復(fù)我~

你把where 1=1去掉,然后在if標(biāo)簽外包著where標(biāo)簽? 試試

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

未卜先知 提問者

只有2種可能,1、mybatis沒有理解我傳入的對象,從打印和其他看,他讀到的是個空。 2、我的parameterType="com.imooc.servlet.Message" 寫錯了 但是我在<resultMap id="UserResult" type="com.imooc.servlet.Message"> 用的也是這個
2016-12-22 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

jdbc后接?useUnicode=true&amp;characterEncoding=UTF-8為何還是查詢不到?另外我發(fā)現(xiàn)不是文中的問題,英文也一樣

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號