Hibernate 第二讲

来源:互联网 发布:sql 查询字段长度 编辑:程序博客网 时间:2024/05/16 15:02
 

一、开发流程

1.Domain类  实体类

2.映射文件 User.hbm.Xml

3.表create table user();

理论上其中的任何一个都能推出另外两个

其中官方推荐使用由Domain object->mapping->db

二、

1.实体Domain Object类对象限制

class User{

Public Userint idString name Data birthday{

}

//自己写完有参数的构造方法后要再写一个无参数的构造方法

Public User(){

}

Private int id;

}

User.calzz=User.class;//hibernate的使用如下

Hibernate User user=clazz.newInstance()//调用无参构造,利用房反射机制

1.默认的构造方法(必须的)

2.有无意义的标示符id(主键)(可选)

3.非final的,对懒加载有影响(可选)

Domain java Objest(User)

  Public class User{

Private int id;

Private String name;

Private Date birthDay;

//getter setter....

}

2.映射文件

一个java类在映射文件中用一对<class>标签表示,如果有多个java类,那就应有多个<class>标签。这些<class>标签可以放大一个映射文件中,可以放大多个映射文件中。

类名.hbm.xml(一般命名)

3、代码编写

工具类HibernateUtil

static{

Configuration cfg=new Configuration();

cfg.configure();

sessionFactory=cfg.buildSessionFactory();

}

Session接口中的常用方法

(1)瞬时状态:自己new出来对象就是瞬时状态

User user=newUser();

user.setName("aad");

user.setBirthday(new Date());

//user是一个瞬时对象,数据库的表中是没有记录和瞬时对象是相对应的

Session.saveuser);

(2)持久状态:数据库的表中有相应的记录是和这个对象那个是相对应的,并且该对象呗session管理。

(3)脱管状态:数据库的表中有一条记录和对象是相对应的,但它和session没有任何关系

1.savepersist保存数据,在不开启事物时,save()方法是长身了insert语句并执行,但由于没有提交事务,所以最终被回滚了。Persist()方法在事物外不会产生insert语句。

2.Delete,删除对象

3.Update,更新对象,如果数据库中没有记录,会出现异常

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 长叶大岩桐骨朵烂了怎么办 种子发芽后徒长怎么办 夏天兰花僵苗怎么办 兰花僵苗了怎么办 吃了烂洋葱怎么办? 榕树盆景不发芽怎么办? 茶树花掉叶子怎么办 玉米播种后下雨怎么办 多肉长出来的枝怎么办 多肉植物爆盆后怎么办 狗眼发炎了怎么办 旅行箱密码锁打不开怎么办 梅花夏季干支了怎么办 红梅树初夏落叶怎么办 电脑主机开关坏了怎么办 iqos加热片断了怎么办 眼睛容易出泪水怎么办 盖髓后牙齿疼痛怎么办 补牙材质掉了怎么办 补牙上药后痛怎么办 儿童牙缝隙大怎么办 牙齿塞药掉了怎么办啊 补牙后按压疼痛怎么办 补过的牙齿疼怎么办 堵完牙后牙涨疼怎么办 补牙到牙神经怎么办 想换飘窗窗户 大理石面怎么办 出差三个月绿萝怎么办 口红吊兰根烂怎么办 金鱼吊兰干枝怎么办 口红吊兰不开花怎么办 单位上班座位不好怎么办 简易办公室夏天闷热怎么办 开发商不让用公积金贷款怎么办 夏天脚底开裂缝怎么办 晚上脚丫子痒怎么办丫 栀子花长白粉虱怎么办 栀子花花骨朵变黄怎么办 栀子花苞焉了怎么办 水培栀子花焉了怎么办 三角梅叶子焉了怎么办