`

Hibernate配置文件中指定MySQL数据库的编码方式

阅读更多

Hibernate配置文件中指定MySQL数据库的编码方式:

1)

<hibernate-configuration> 

<session-factory> 
<property name="dialect"> 
org.hibernate.dialect.MySQLDialect 
</property> 
<property name="connection.url"> 
jdbc:mysql://127.0.0.1:3306/db?useUnicode=true&amp;characterEncoding=utf-8 
</property> 
<property name="connection.username">root</property> 
<property name="connection.password">root</property> 
<property name="connection.driver_class"> 
com.mysql.jdbc.Driver 
</property> 
<property name="myeclipse.connection.profile">con</property> 
<mapping resource="com/hib/entity/Mytable.hbm.xml" /> 

</session-factory> 

2)

<hibernate-configuration> 

<session-factory> 
<property name="dialect"> 
org.hibernate.dialect.MySQLDialect 
</property> 
<property name="connection.url"> 
jdbc:mysql://127.0.0.1:3306/db

</property>

</hibernate-configuration><property name="connectio.useUnicode">true</property> 
<property name="connection.characterEncoding">utf-8</property> 
<property name="connection.username">root</property> 
<property name="connection.password">root</property> 
<property name="connection.driver_class"> 
com.mysql.jdbc.Driver 
</property> 
<property name="myeclipse.connection.profile">con</property> 
<mapping resource="com/hib/entity/Mytable.hbm.xml" /> 

</session-factory>

分享到:
评论
3 楼 Ashfrog 2010-10-12  
非常有用的解决方案···
谢谢博主···
2 楼 csdn_zuoqiang 2010-10-03  
MySql Command Line Client乱码


乱码问题: 
数据库是MySql,存储的是中文的内容用MySql Command Line Client 查看是乱码,但是用MySql Administrator查看却显示正确。


MySQL的安装目录下有个配置文件my.ini ,里面有客户端和服务器端的编码方式的设置。
你在服务端的默认编码设置为UTF8,那么存储数据都是采用UTF8的方式,这是对的,但如果要从MySql Command Line Client来查看数据,也就是客户端了,如果客户端设置的默认编码也是UTF8那么就会出现乱码的,所以将客户端的默认编码修改为gbk就可以了,不影响数据存储采用的编码,只是在我们用MySql Command Line Client查看数据时返回给我们转成gbk的编码的中文。
这样再不需要每次都 set names "gbk" 了。

具体的设置如下:
my.ini 中:

客户端的:

[client]

port=3306

[mysql]

default-character-set=gbk


服务端的:

[mysqld]

# The default character set that will be used when a new schema or table is
# created and no character set is defined
default-character-set=utf8
1 楼 csdn_zuoqiang 2010-10-02  
一、MySql 端配置

1. 修改my.ini文件
[mysql]
default-character-set=utf8   
说明:修改链接字符集和校对规则,它会同时设置character_set_client, character_set_connection, character_set_results。

也可以修改
[mysqld]
default-character-set=utf8
说明: 这里修改的是服务器的字符集和校对规则。

查看当前服务器的字符集和校对规则:
mysql> show variables like 'character_set_server';  
mysql> show variables like 'collation_server';

2. 修改数据库和表的字符集和校队规则。
例如:
-- Create Database.
drop database if exists HRDB;
create database HRDB DEFAULT CHARACTER SET utf8;
use HRDB;

-- 角色表
create table HR_ROLE (
ID bigint not null auto_increment,
NAME varchar(20) not null unique,
primary key (ID)
) ENGINE=INNODB DEFAULT CHARACTER SET utf8;

查看当前数据库的字符集和校对规则:
mysql> show variables like 'character_set_database';  
mysql> show variables like 'collation_database';

查看表的字符集和校对规则:
mysql> show create table HR_ROLE \G;

二、Hibernate端

1. 修改 hibernate.cfg.xml文件。
增加:
   <!-- Supported UTF-8 character set -->
   <property name="connection.useUnicode">true</property>
   <property name="connection.characterEncoding">UTF-8</property>

相关推荐

    Hibernate配置数据库连接

    ### Hibernate配置数据库连接知识点详解 #### 一、Hibernate简介与作用 Hibernate 是一款开源的对象关系映射(Object Relational Mapping, ORM)框架,用于 Java 应用程序与关系型数据库之间的交互。它允许开发者以...

    hibernate数据库中文乱码问题

    2. **检查Hibernate配置文件**:打开项目的`hibernate.cfg.xml`文件,确保数据库连接字符串中包含了`useUnicode=true`和`characterEncoding=utf8`参数,并且在Hibernate配置文件中指定了正确的字符集设置。...

    hibernate+mysql乱码问题

    在Hibernate配置文件Hibernate.cfg.xml中,`&lt;property name="connection.url"&gt;` 是用于指定数据库连接的URL。在原始配置中,没有明确指定字符集,这通常会导致MySQL使用其默认编码,可能不是UTF-8。为了防止乱码,...

    Hibernate 多数据库支持解决方案

    - 在Spring或`hibernate.cfg.xml`配置文件中,可以使用宏定义或者条件注解来根据数据库类型加载不同的映射文件。这样,不同的数据库环境只需配置相应的连接参数,而无需修改核心的配置文件。 4. **大字段处理** -...

    JDBC通过配置文件连接数据库

    在实际开发中,我们经常需要通过配置文件来管理数据库连接信息,以实现灵活的数据库连接管理,避免硬编码,提高代码的可维护性和可扩展性。 1. **配置文件类型** 常见的配置文件格式有XML、properties或JSON等。...

    Hibernate通过配置文件自动生成表

    本篇将详细讲解如何通过Hibernate配置文件自动生成数据库表,以及相关的知识点。 **一、Hibernate概述** Hibernate是Java平台上的一个开源框架,它的主要功能是提供一种映射机制,将Java类与数据库表进行对应,...

    idea连接mysql数据库.doc

    - **安全措施**:在生产环境中,不要将数据库密码等敏感信息硬编码在代码中,而是使用配置文件或环境变量来管理这些信息。 以上就是在 IntelliJ IDEA 中连接 MySQL 数据库的详细步骤。按照这些指导,开发者可以轻松...

    hibernate插入数据库乱码的解决方式

    1. **Hibernate配置文件(如hibernate.cfg.xml)**: - 在`&lt;property&gt;`标签中指定正确的字符集,例如: ```xml &lt;property name="connection.characterEncoding"&gt;utf-8 &lt;property name="connection.useUnicode"&gt;...

    Struts+Hibernate+MyEclipse+Tomcat+MySQL的乱码之解决篇

    ### 五、MySQL数据库配置 - 修改MySQL数据库的字符集为`utf8`,确保数据库能够正确存储中文数据。可以在创建数据库时指定字符集: ```sql CREATE DATABASE database_name CHARACTER SET utf8 COLLATE utf8_general...

    使用java语言基于mysql数据库开发的进阶.pdf

    在这个阶段,数据库连接信息写在配置文件中,避免了硬编码的缺陷。开发者可以使用各种数据源开发技术,如 DBCP、C3P0、Druid 数据源开发数据库技术等。以 Druid 数据源为例,开发者可以在 Spring 容器中配置数据源来...

    java hibernate不同数据库之间的动态切换

    在Java开发中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它简化了数据库操作,使得开发者可以使用面向对象的方式来处理数据。然而,在某些情况下,我们可能需要在运行时根据不同的条件或需求动态地切换...

    hibernate4.1.4中hibernate+Proxool无法实现加载Proxool的配置文件解决办法及jar包

    5. **编码问题**:如果配置文件是UTF-8编码,但系统默认编码是GBK,可能会导致读取配置时出现问题,确保配置文件的编码与读取的编码一致。 解决这个问题的过程可能涉及对以上几个方面进行排查和修正。一旦配置正确...

    java操作mysql数据库,不写sql语句版

    Hibernate通过XML配置文件或注解将Java实体类映射到数据库表,然后提供了Session接口来处理数据持久化。例如,我们可以使用`Session.save()`方法来保存对象,`Session.get()`来读取,`Session.update()`来更新,以及...

    Hibernate_MySQL中文乱码问题.doc

    ##### 解决方案一:修改Hibernate配置文件 1. **在`hibernate.cfg.xml`中配置连接字符串**: ```xml &lt;property name="connection.url"&gt;jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-...

    使用java语言基于mysql数据库开发的进阶.docx

    与之配合的MySQL数据库,因其开源、高效和易于管理的特性,成为了中小型应用的首选数据库。本文以Java与MySQL数据库的结合开发为主题,探讨了从JDBC基础到SpringBoot高级开发的演变过程,揭示了软件开发的规范化和...

    Spring+Hibernate下的数据库连接动态切换

    这里我们不直接在Spring的配置文件中硬编码多个数据源,而是采用更加灵活的方式。 2. **数据源管理**:使用工厂模式或缓存机制来动态生成数据源,根据用户的选择来创建相应的数据源实例。 3. **数据源切换触发时机**...

    hibernate配置properties

    ### Hibernate配置Properties详解 在Java开发环境中,Hibernate作为一款优秀的对象关系映射(ORM)框架,为开发者提供了高效且简洁的方式来进行数据库操作。而在Hibernate的实际应用过程中,合理的配置显得尤为重要...

Global site tag (gtag.js) - Google Analytics