1、数据库连接的字符编码有误。
可先在数据库里添一条全英文数据,进行查询,如果查出来了,就说明数据库编码有误,中文解析映射时出错。可在数据库连接地址后添加UTF-8字符编码,即:
useUnicode=true&characterEncoding=UTF-8
示例:修改mybatis-config.xml文件(在配置文件中&相当于&):
<dataSource type="POOLED">
<!-- 数据库连接信息-->
<property name="driver" value="com.mysql.jdbc.Driver"/>
<!--在url后添加指定的UTF-8字符编码-->
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=false&useUnicode=true&characterEncoding=UTF-8"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
2、本身的sql语句拼接有误。
可在mybatis-config.xml文件的<settings>标签中添加配置文件,添加后运行,在控制台就能看到相应的实际执行的sql语句。将其中的?手动替换,得到的sql语句放入navicat中执行,看是否报错,若报错根据错误提示订正。
配置文件:
<settings>
<setting name= "mapUnderscoreToCamelCase" value = "true"/>
<setting name="logImpl" value="STDOUT_LOGGING" />
</settings>
sql示例:控制台得到这种信息,将?依次替换即可得到实际执行的sql语句。
更多推荐