hibernate自动建表设置default charset=utf8

经过无数次的实验,跟度娘经过无数次的交谈。。什么修改my.ini和my.cnf都无效。。

我的目的就是一个,既然hibernate能够自动建表,难道就不能让默认的

| t_html_top | CREATE TABLE `t_html_top` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `dateName` varchar(255) DEFAULT NULL,
  `dateValue` date DEFAULT NULL,
  `visitCountName` varchar(255) DEFAULT NULL,
  `visitCountValue` int(11) DEFAULT NULL,
  `textFieldWidth` int(11) DEFAULT NULL,
  `textFieldHeight` int(11) DEFAULT NULL,
  `textFieldName` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
变成我想要的charset=utf8吗

| t_html_top | CREATE TABLE `t_html_top` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `dateName` varchar(255) DEFAULT NULL,
  `dateValue` date DEFAULT NULL,
  `visitCountName` varchar(255) DEFAULT NULL,
  `visitCountValue` int(11) DEFAULT NULL,
  `textFieldWidth` int(11) DEFAULT NULL,
  `textFieldHeight` int(11) DEFAULT NULL,
  `textFieldName` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8|

终于在一片文章中发现了宝贝。。。

虽然找的很辛苦,虽然是乱群当中取出并尝试得出的结果,还是要保留一个记录,方便以后查看:http://blog.csdn.net/liujimmy/article/details/4879269


通过配置文件设置创建数据库时字符集:

#vi /var/lib/mysql/mydb/db.opt

default-character-set=latin1

default-collation=latin1_swedish_ci为default-character-set=utf8

default-collation=utf8_general_ci


只修要修改对应数据中的db.opt配置就搞定了。


当然,我也在my.cnf中加入了一些配置,免得又出现乱码。

[client]
default_character_set=utf8
port        = 3306
socket        = /var/run/mysqld/mysqld.sock

[mysqld_safe]
pid-file    = /var/lib/mysql/mysqld.pid
socket        = /var/run/mysqld/mysqld.sock
nice        = 0

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'

user        = mysql
pid-file    = /var/run/mysqld/mysqld.pid
socket        = /var/run/mysqld/mysqld.sock
port        = 3306
basedir        = /usr
datadir        = /var/lib/mysql
tmpdir        = /tmp
lc-messages-dir    = /usr/share/mysql
explicit_defaults_for_timestamp

我的mysql版本是linux下最新的。。

Your MySQL connection id is 7
Server version: 5.6.20 MySQL Community Server (GPL)



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java类和Serializable接口与MySQL数据库的编码设置没有直接的关系,但是在将Java对象存储到MySQL数据库中时,需要考虑字符集编码的问题。 一般情况下,我们可以通过在MySQL数据库中设置字符集编码来保证数据的正确存储和读取。常见的字符集编码有UTF-8、GBK、GB2312等。 在MySQL数据库中,可以通过以下方式来设置字符集编码: 1. 修改MySQL配置文件my.cnf,在[mysqld]下添加以下配置: ``` [mysqld] character-set-server=utf8 ``` 2. 使用MySQL命令行工具修改数据库字符集编码: ``` ALTER DATABASE database_name CHARACTER SET utf8; ``` 3. 在创建表时指定字符集编码: ``` CREATE TABLE table_name ( ... ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ``` 在Java程序中,我们可以使用JDBC来连接MySQL数据库,并设置字符集编码,例如: ``` String url = "jdbc:mysql://localhost:3306/database_name?useUnicode=true&characterEncoding=utf8"; Connection conn = DriverManager.getConnection(url, "username", "password"); ``` 其中,useUnicode=true表示使用Unicode编码,characterEncoding=utf8表示使用UTF-8编码。 在使用ORM框架(如Hibernate、MyBatis等)时,需要在配置文件中指定数据库字符集编码,例如: ``` <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/database_name?useUnicode=true&characterEncoding=utf8</property> ``` 这样就可以保证Java对象正确存储到MySQL数据库中,并且不会出现乱码等问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值