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;


阅读全文
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 淘宝买到假货了怎么办 单位不给解约函怎么办 安卓个人热点打不开怎么办 密码忘记无法进入主机怎么办 流放之路w10闪退怎么办 电脑网站被劫持了怎么办 苹果手机浏览器被劫持怎么办 苹果手机网站被劫持怎么办 a37手机网站被劫持怎么办 耳朵被震的耳鸣怎么办 液晶电视怎么办断屏坏还是逻辑板 门保险拧坏了怎么办 锁的保险坏了怎么办 鞋子里面长霉了怎么办 塑料瓶盖滑丝了怎么办? 塑料杯盖滑丝了怎么办 洗衣机上的订子很难扭出来怎么办 滚筒洗衣机坏了打不开门怎么办 海尔滚筒洗衣机打不开门怎么办 格兰仕滚筒洗衣机门打不开怎么办? lg洗衣机洗完衣服门打不开怎么办 lg洗衣机不能冼衣服怎么办 vivo账户密码忘记了怎么办 oppo账户密码忘记了怎么办 74160从1开始计数怎么办 微信录音声音小怎么办 word文档已停止工作怎么办 怀孕30天不想要怎么办 一楼墙体起碱怎么办 农村平房顶四墙面渗水怎么办 被蝎子精蛰了怎么办 小娃头摔包要怎么办抹个什么 老人死了银行钱存死期怎么办 飙酷车神2一进画面就闪退怎么办 电脑开机键盘鼠标没反应怎么办 玩gta4自由城卡怎么办 gta5游戏服务当前不可用怎么办 健身后胳膊变粗怎么办 健身后手臂变粗怎么办 家猫见到我就跑怎么办 走路多了小腿酸痛怎么办