SELECT ID,COMMAND,DESCRIPTION,CONTENT FROM MESSAGE WHERE 1=1 and COMMAND=#{command}
我都直接这么拼都查不出来结果,日志打印如下
==> Preparing: SELECT ID,COMMAND,DESCRIPTION,CONTENT FROM MESSAGE WHERE 1=1 and COMMAND=?
==> Parameters: 查看(String)
<== Total: 0
也不知道具体执行的语句参数加进去没有,还是加的有问题(看不见啊我擦!),首先说明数据库是没问题的,不加条件是能全部查询出来的。
你确定一下数据库的编码与设计出来的表的编码是不是与JAVA这边的编码保持一致的,关于这种情况参照一下 《6-2常见问题解析》中关于乱码的说明。
顶!自己解决了问题了。
之前纠结的就是所有地方都是UTF8啊,一般乱码在debug时候能看出来,这个看不出来,就差URL上追加编码,结果还就解决了!有同样问题的同学可以试试URL后追加 ?useUnicode=true&characterEncoding=utf8
debug跟,messageList=sqlSession.selectList("Message.queryMessageList",msg); msg中的参数不是乱码,如果是乱的话也是在xml中表达式传参#{command}时候乱掉的!
求老师解答!!!!!!
好吧!自问自答,用了半天排除法,最后就直接【WHERE 1=1 and COMMAND='查看'】这样都不行,顿时觉得是乱码问题,在表里加了一条英文数据 瞬间#{command}和<if ....></if>什么的都好用了,我擦!看不到具体执行什么吊样,真蛋疼,可乱码是什么原因呢?mac系统,可列表全部查询出来内容不乱啊!!日志参数都没乱呢!求解释!!!!!