Hibernate使用注解时的注意问题与mysql的中文乱码问题
来源:互联网 发布:音乐降调软件手机 编辑:程序博客网 时间:2024/05/22 04:53
(一)Hibernate注解的实现是使用的JPA标准,是导入import javax.persistence类库的,而不是hibernate的
(二)表名不一致:可以采用@Table(name=“数据库中的表名”)
(三)字段名不一致:在属性的getter方法上加@Column(name=“数据库中字段的名字”)
(四)不想让属性存储到数据库,可以在属性的getter方法加上@Transient
如果使用xml配置,在Teacher.hbm.xml中不写该属性即可。
(五)对于Date数据库默认是日期和时间都有,对于日期的设置,在属性的getter方法上加@Temporal(TemporalType.DATE) 其中TemporalType的属性有:Date:只是日期 time:时间 timeStamp:日期和时间
在xml中配置,用type属性来配置属性值与注解一样
(六)对于枚举类型的转换,使用xml配置非常麻烦,建议使用注解方式:@Enumerated(EnumType.STRING)以varchar的形式存储,@Enumerated(EnumType.ORDINAL)以integer的形式存储。
(七)mysql出现中文乱码问题:(编码不一致导致)
(1).创建数据库的时候数据编码设置错误
create database 数据库名 character set utf8 collate utf8_general_ci ;
或者
create database 数据库名 default character set utf8 collate utf8_general_ci ;
或者
create database 数据库名 character set utf8 ;
(2).连接数据库的时候数据编码设置错误:在xml配置文件中的属性配置:
jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=utf8
在xml配置文件中,url中的&符号需要进行转义,&的转义字符为& 注意不要漏掉后面的分好
(3).创建表的时候数据编码设置错误
create table 表名 (id int primary key ,name varchar(20),birthday date )charset utf8;
或者
create table 表名 (id int primary key ,name varchar(20),birthday date )character set utf8;
其中:utf8不区分大小写,可以省略中间的横线。亲测在建数据库或者表时,指定编码其中utf-8,加横线会报错。
所以直接可以使用小写的utf8即可。
修改数据库或者表的字符编码:
alter database 数据库名 character set utf8;
alter table 表名 character set utf8;
- Hibernate使用注解时的注意问题与mysql的中文乱码问题
- Hibernate连接MySQL的中文乱码问题:
- 关于hibernate+mysql中文乱码的问题
- hibernate保存数据到mysql时的中文乱码问题!
- hibernate保存数据到mysql时的中文乱码问题!
- hibernate保存数据到mysql时的中文乱码问题
- hibernate保存数据到mysql时的中文乱码问题!
- 使用Hibernate和mysql中文乱码问题
- mysql中文乱码问题,需要注意修改的几个地方
- SpringMVC使用@ResponseBody注解返回中文字符串乱码的问题
- MySql与SSH结合时产生的中文乱码问题
- 解决Struts + Hibernate + MySql中文乱码的问题
- Hibernate向MySQL存入中文数据的乱码问题
- 解决Hibernate向MySQL插入中文出现乱码的问题
- Hibernate+Mysql写数据库的中文乱码问题
- 关于 Hibernate 存储数据到 MySQL 中文乱码的问题
- hibernate向Mysql中插入中文乱码的问题
- Hibernate连接mysql数据的中文乱码问题
- SpringBoot中springMVC返回JSON报错-->Could not write JSON: No serializer found for class org.spring...
- LLVM ERROR: Program used external function '___dso_handle' which could not be resolved!的解决方案
- java提高篇(十三)-----equals()方法总结
- uva 11400 lrj-P275 动态规划
- 多线程信号量的使用
- Hibernate使用注解时的注意问题与mysql的中文乱码问题
- centos安装smb
- 权限管理——RBAC模型总结
- java.lang.OutOfMemoryError:GC overhead limit exceeded
- BootStrap学习简介
- Java设计模式--门面模式【Facade Pattern】
- Java 日期时间
- java提高篇(十四)-----字符串
- 并发编程6:CopyOnWriteArrayList 的写时复制