解决idea中通过mybatis插入中文数据乱码

问题描述:

最近用idea通过mybatis向数据库中插入数据遇到一个bug,英文数据在数据库中都显示正常,但是中文数据都是乱码?,之前查找了资料,说是我的数据库没有设置成utf-8的格式,或者数据库的表没有设置成utf-8的格式,于是我就检查了它们的格式,但是还是出现乱码情况,所以现在说下我是怎么解决的。

/**
     * 测试在数据库中插入
     */
    @Test
    public void test02(){
        String config = "applicationContext.xml";
        ApplicationContext ctx = new ClassPathXmlApplicationContext(config);
        StudentDao studentDao = (StudentDao) ctx.getBean("studentDao");
        //创建一个Student对象
        Student student = new Student();
        student.setId(1002);
        student.setName("小芳");
        student.setEmail("xiaofang@163.com");
        student.setAge(27);
        int num = studentDao.insertStudent(student);
        System.out.println(num);
    }

数据库显示

在这里插入图片描述

解决方法

其实解决这个问题的方法很简单,就是在我们连接数据库的时候都会去配置一个存储连接数据库信息的properties文件,如:jdbcConfig.xml,或者我们会直接在xml文件中写连接数据库的信息。如下图所示。

在这里插入图片描述

解决这个问题只需要在这串url后面加一个后缀:

?useUnicode=true&characterEncoding=utf8,

完整的url示例如下:

jdbc.url=jdbc:mysql://localhost:3306/spring?useUnicode=true&characterEncoding=utf8
jdbc.user=root
jdbc.password=??????

加完之后,经过测试,显示正常

在这里插入图片描述

参考链接

https://blog.csdn.net/z418998824/article/details/106585659

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值