为了账号安全,请及时绑定邮箱和手机立即绑定

加入mybatis操作后输入查询条件查询不出结果,之前不使用可以根据条件查询出结果

我把查询条件限定为

message.setCommand("查看");
messageList = sqlSession.selectList("Message.queryMessageList",message);

通过log4j打印的日志信息是

[DEBUG] - [17:49:47.495]==>  Preparing: SELECT idmessage,COMMAND,DESCRIPTION,CONTENT from MESSAGE WHERE COMMAND=?  | (BaseJdbcLogger^debug:181)
[DEBUG] - [17:49:47.522]==> Parameters: 查看(String) | (BaseJdbcLogger^debug:181)
[DEBUG] - [17:49:47.535]<==      Total: 0 | (BaseJdbcLogger^debug:181)

然后mybatis的数据操作配置是

<select id="queryMessageList" parameterType="com.imooc.bean.Message" resultMap="MessageResult">
    SELECT  idmessage,COMMAND,DESCRIPTION,CONTENT from MESSAGE
    <where>
        <if test="command !=null and !&quot;&quot;.equals(command.trim())"> and COMMAND=#{command,jdbcType=VARCHAR}</if>
        <if test="description !=null and !&quot;&quot;.equals(description.trim())"> and DESCRIPTION like '%'#{description,jdbcType=VARCHAR}'%'</if>
    </where>
</select>

可以从log4j打印的结果看出没有查询出信息,这是怎么回事呢?

如果页面上不使用查询条件(command="查看" or description="精彩"),可以获得六条记录……

正在回答

4 回答

我的也出现同样的问题,用jdbc的时候条件查询不可以,改为mybatis时 也是条件查询出不来,列表可以查询出来~!!!

0 回复 有任何疑惑可以回复我~
#1

董五 提问者

我是在数据库链接字段中指定了编码方式,见第一条回答
2017-07-07 回复 有任何疑惑可以回复我~

表格字段的大小写问题,我后来把表的字段改成小写的,条件查询就有结果了。

0 回复 有任何疑惑可以回复我~

同问,有解决方法吗

0 回复 有任何疑惑可以回复我~

<property name="url" value="jdbc:mysql://127.0.0.1:3306/micro_message?useUnicode=true&amp;characterEncoding=utf-8"/>

mybatis 数据链接配置文件如上修改,指定编码集……

3 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

加入mybatis操作后输入查询条件查询不出结果,之前不使用可以根据条件查询出结果

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号