博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hibernate建表默认为UTF-8编码
阅读量:4455 次
发布时间:2019-06-08

本文共 1343 字,大约阅读时间需要 4 分钟。

一、问题:

hibernate自动建表的编码应该是数据默认的编码格式,一般也不是utf-8。所以想要建表默认的编码是UTF-8,应该怎么做呢?

二、解决方法:

拿mysql举例:

(一)、修改hibernate建表的方言

1、一般情况我们使用的mysql方言为:org.hibernate.dialect.MySQL5Dialect

默认返回的是

@Override      public String getTableTypeString() {          return " ENGINE=InnoDB";      }

2、重写MySQL5InnoDBDialect类,覆盖getTableTypeString方法

package com.lqy.spring.hibernate.mysql;    import org.hibernate.dialect.MySQL5InnoDBDialect;    public class MySQL5DialectUTF8 extends MySQL5InnoDBDialect{        @Override      public String getTableTypeString() {          return " ENGINE=InnoDB DEFAULT CHARSET=utf8";        }  }

3、方言配置使用我们重写的类,配置如下:

 

(1)Jpa数据库连接配置:

把默认的配置

修改成

(2)spring整合hibernate配置:

com.lqy.spring.hibernate.mysql.MySQL5DialectUTF8
update
false
false
com.lqy.spring.hibernate.mysql.MySQL5DialectUTF8

4、修改数据连接Url

jdbc.url=jdbc:mysql://192.168.1.11:3306/db?useUnicode=true&characterEncoding=UTF-8

 

转载于:https://www.cnblogs.com/liaojie970/p/8962436.html

你可能感兴趣的文章
【NLP新闻-2013.06.03】New Book Where Humans Meet Machines
查看>>
mongodb安装4.0(rpm)
查看>>
DispatcherServlet的url mapping为“/”时,对根路径访问的处理
查看>>
备忘pwnable.kr 之passcode
查看>>
好久没敲代码了,手有点生——一个小小的时钟
查看>>
运算符 AS和IS 的区别
查看>>
(转)详解C中volatile关键字
查看>>
easyui时的时间格式yyyy-MM-dd与yyyy-MM-ddd HH:mm:ss
查看>>
专题:动态内存分配----基础概念篇
查看>>
Codeforces Round #426 (Div. 2) (A B C)
查看>>
The Most Simple Introduction to Hypothesis Testing
查看>>
UVA10791
查看>>
P2664 树上游戏
查看>>
jQuery 停止动画
查看>>
Sharepoint Solution Gallery Active Solution时激活按钮灰色不可用的解决方法
查看>>
MyBatis Generator去掉生成的注解
查看>>
教你50招提升ASP.NET性能(二十二):利用.NET 4.5异步结构
查看>>
lua连续随机数
查看>>
checkstyle使用介绍
查看>>
history.js 一个无刷新就可改变浏览器栏地址的插件(不依赖jquery)
查看>>