条件判断语句是中文时,查不到数据,但把这条语句放到数据库中时,可以查到数据

我用的是mybatis连接mysql,有谁知到这是怎么回事么?

你可以看看mysql的查询日志,可能你的中文过去乱码了
对连接有使用unicode么?

根据你提供的信息,只能回答这么多了,如果有帮助,希望结帖

是不是中文提交后,被转码了,导致无法查询

可以试下修改数据库连接,使用以下方式指定编码:
jdbc:mysql://localhost:3306/xxx?useUnicode=true&characterEncoding=utf8
如果还有问题,可以检查数据库的设置,在mysql安装目录的my.ini中应该有如下的配置(没有可以手动添加):
[mysql]
default-character-set=utf8

启动项目,看看控制台你执行这个sql打印的语句和参数,把他复制出来再再在数据库执行下

sql语句写的对不对
例如,张三 的单引号需要加上,
select * from table where name = '张三';
还是上面说的处理数据过程中间乱码了。
你把错误日志贴出来看看,发现问题容易些
现在这样只能猜你的问题

编码问题,查询语句前 com = new MySQLCommand("set names gb2312", conn);试试

因该是传过去的中文编码出现乱码问题引起的,看看你的前台传来的数据在后台是不是乱码

应该是你的中文乱码导致的
字符集和校对规则有4个级别的默认设置:服务器级、数据库级、表级和连接级
你查下你各级别字符集跟校对规则,修改成你需要的字符集及校对规则就可以了。

参考自:
MySQL的字符集和校对 http://www.data.5helpyou.com/article332.html