现象:直接运行SQL语句,可以查询到数据。但是通过mybatis执行,却拿不到数据。

测试发现,如果查询字段的值为中文,mybatis拿不到数据。但是英文没有问题。可知是编码的问题。

修改数据库链接,指定编码为UTF-8,问题解决。

<Resource auth="Container" driverClassName="com.mysql.jdbc.Driver"
              maxIdle="10" maxTotal="200" maxWaitMillis="10000"
              name="jdbc/dkpm" type="javax.sql.DataSource"
              url="jdbc:mysql://127.0.0.1:3306/zentao?zeroDateTimeBehavior=convertToNull&amp;useUnicode=true&amp;characterEncoding=UTF-8"
              username="root" password="123456"
              validationQuery="select 1"/>

更多推荐

mybatis查询不到数据