关于解决hibernate的一些中文问题
2009-05-08 13:56
375 查看
2情况:
1.hibernate获得数据,写入数据库时,是有经过编码的.我们可以在hibernate的配置文件,URL那里进行配置:
<property name="connection.url">jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8</property>
这样.hibernate将数据提交给数据库时,就会编码成utf-8
2.hibernate打印出来的带中文的SQL语句中,中文乱码问题.
这里在网上找了几个解决办法:
(2.1)
Hibernate3.0 采用新的基于ANTLR的HQL/SQL查询翻译器,不过,Hibernate2.1的查询翻译器也依然 存在。在Hibernate的配置文件中,hibernate.query.factory_class属性用来选择查询翻译器。例如:
(1)选择Hibernate3.0的查询翻译器:
hibernate.query.factory_class= org.hibernate.hql.ast.ASTQueryTranslatorFactory
(2)选择Hibernate2.1的查询翻译器
hibernate.query.factory_class= org.hibernate.hql.classic.ClassicQueryTranslatorFactory
也就是在配置文件仲设置:
<property name="hibernate.query.factory_class">
org.hibernate.hql.classic.ClassicQueryTranslatorFactory
</property> (PS:我在项目中用的HIBERNATE是3,尝试了3的查询翻译器无效,改用2的查询翻译器,通过.)
(2.2)使用占位符:
1.用占位符:
Query query = session
.createQuery("select count(*)
from Privilege p where p.name like ?");
query.setString(0, "%" + name + "%");//
注意这里不能写成setString(0," '%" + name + "%' ";
否则查不出来结果,不能加‘单引号
1.hibernate获得数据,写入数据库时,是有经过编码的.我们可以在hibernate的配置文件,URL那里进行配置:
<property name="connection.url">jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8</property>
这样.hibernate将数据提交给数据库时,就会编码成utf-8
2.hibernate打印出来的带中文的SQL语句中,中文乱码问题.
这里在网上找了几个解决办法:
(2.1)
Hibernate3.0 采用新的基于ANTLR的HQL/SQL查询翻译器,不过,Hibernate2.1的查询翻译器也依然 存在。在Hibernate的配置文件中,hibernate.query.factory_class属性用来选择查询翻译器。例如:
(1)选择Hibernate3.0的查询翻译器:
hibernate.query.factory_class= org.hibernate.hql.ast.ASTQueryTranslatorFactory
(2)选择Hibernate2.1的查询翻译器
hibernate.query.factory_class= org.hibernate.hql.classic.ClassicQueryTranslatorFactory
也就是在配置文件仲设置:
<property name="hibernate.query.factory_class">
org.hibernate.hql.classic.ClassicQueryTranslatorFactory
</property> (PS:我在项目中用的HIBERNATE是3,尝试了3的查询翻译器无效,改用2的查询翻译器,通过.)
(2.2)使用占位符:
1.用占位符:
Query query = session
.createQuery("select count(*)
from Privilege p where p.name like ?");
query.setString(0, "%" + name + "%");//
注意这里不能写成setString(0," '%" + name + "%' ";
否则查不出来结果,不能加‘单引号
相关文章推荐
- 关于hibernate插入数据到mysql数据库中文乱码问题的解决
- 关于hibernate和jsp,以及中文编码问题的传统解决方法
- 关于Hibernate 查询语句中文乱码问题的解决
- 关于python中文乱码的一些问题和解决办法
- 关于spring升级到4.3.12 hibernate升级到4.3 遇到的一些问题和解决方法
- [已解决]关于python无法显示中文的问题:SyntaxError: Non-ASCII character '\xe4' in file test.py on line 3, but no encoding declared。
- 关于Vue的一些小浅见,小问题与解决方法
- 解决mysql+hibernate在j2ee框架下的数据库中文乱码问题
- 关于qt5中“error c2001: 常量中有换行符”以及个别中文字乱码问题的解决办法
- 完美解决Hibernate与MySQL中文乱码问题
- 关于GDAL180中文路径不能打开的问题分析与解决
- hibernate的中文问题的解决方法的补充
- 关于Hibernate的一些基础问题
- 解决hibernate向mysql数据库传值中文乱码问题
- 解决Hibernate向MySQL数据库插入中文乱码问题
- 关于Myeclipse的JSP开发一些零散问题解决方案
- 解决hibernate向mysql插入中文乱码问题
- 关于JSP中文问题的解决方法
- ★★★关于s60程序开发的一些问题解决★★★(转)
- 关于Intype一些小问题的解决办法