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&amp;useUnicode=true&amp;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语句。

 

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐