关于mybatis插入mysql数据库的中文乱码问题

在这一年间,已经很久没用过mybatis来开发了,所以此时想回顾下mybatis
数据库结构
在这里插入图片描述
我是插入下面一条sql

insert into t_user values(null,'张三','123',23,'女')

然后我执行的时候,没料到的意外就出现了
在这里插入图片描述
这里显然是编码对应的不对,但我肯定在mysql配置过编码了

show VARIABLES LIKE '%char%';

在这里插入图片描述
如果还是什么拉丁文的话,可以按照以下方法配置,8.0开始默认是utf8了

set character_set_client = utf8;
set character_set_server = utf8;
set character_set_connection = utf8;
set character_set_database = utf8;
set character_set_results = utf8;
set collation_connection = utf8_general_ci;
set collation_database = utf8_general_ci;
set collation_server = utf8_general_ci;

接下来应该是java那里的排查了,虽然看日志是没啥问题
在这里插入图片描述
如果是这样的话,应该是连接配置方面的问题了
mybatis-config.xml如下

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!--设置连接数据库的环境-->
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url"
                          value="jdbc:mysql://localhost:3306/mybatis"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>
    <!--引入映射文件-->
    <mappers>
        <mapper resource="mapper/UserMapper.xml"/>
    </mappers>
</configuration>

结果被我逮到了,url那里没设置编码utf8!设置如下

<property name="url" value="jdbc:mysql://localhost:3306/mybatis?useUnicode=true&amp;characterEncoding=UTF-8"/>

这样大功告成~
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值