- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Hibernate学习笔记Hibernate学习笔记
Hibernate
1.定义
Hibernate是一个ORM框架,主要作用是简化应用的数据持久层编程,框架位于应用层和数据库之间,解决数据持久层编程,hibernate主要包括持久化对象,hibernate属性文件以及XML映射文件
2. 常用API
2.1 Configuration
该类提供了configure方法,可以用来读取指定的hibernate属性文件,为获得连接数据库对象做好准备
例:Configuration conf = new configuration();
conf.configure(“hibernate.cfg.xml”);
注意:如果属性文件是hibernate.cfg.xml 其实该方法可以不写参数
2.1 SessionFactory
该类是Session对象的工厂类,一个应用有一个唯一的Sessionfactory对象, Sessionfactory是不可改变的,可通过Configuration获取
例: Configuration conf = new configuration();
conf.configure(“hibernate.cfg.xml”);
SessionFactory sf = conf.build SessionFactory;
2.3 Session
该接口是java和hibernate意见的一个主要的运行期接口,是提供持久化服务的核心API,该类类似于一个数据库连接对象,其生命周期贯穿整个逻辑事物的始末,主要功能是用来操作持久化对象,进行增删改查,如果进行增删改查,必须使用session对象开始一个事物,并提交才可以生效,事物的接口是Transaction
Configuration conf = new configuration();
conf.configure(“hibernate.cfg.xml”);
SessionFactory sf = conf.build SessionFactory;
Session session = sf.openSessiuon();
Transaction tr = session.beginTransaction;
//持久化类
Custorm cu = new Custorm(“123”,”23”,”beijing”)
session.save(cu);
mit;
session.close;
3.hibernate核心知识点
3.1 持久化类
要求
3.11.必须提供public的无参构造方法
3.12必须有一个标识属性
3.13类的属性都是private权限
3.14提供getXXX,setXXX方法
3.2对象状态
3.21 瞬时状态
单纯new的类
Custorm cu = new Custorm(“123”,”23”,”beijing”)
不能修改数据库数据
3.22 持久状态
与session相关联的,与数据库的一条记录相对应,并拥有持久化标示(可能是主键?),当事务提交时,hibernate自动检测到对象的变化,并持久化到数据库中
Custorm cu = (Custorm)session.get(Custorm.class,”123”);
cu.setUsrName(“abc”);
3.3 托管状态
当与持久对象相关联的session关闭后,该对象变成托管状态,可以继续使用,当再次与一个session关联后就再可以装换成持久状态对象,托管期间进行的修改被持久化到数据库中
4.映射文件的基本结构
后缀为.hbm.xml
属性
4.1 class元素
4.11 name :持久化类的完整名字 (路径)
4.12 table :对应的表名
4.13 discriminator-value:指定区分值,区分不同的子类
4.14 polymorphism:多态性,默认值为implicit 可以指定为explicit
4.15 lazy:延迟加载可以指定为true或false
4.16 abstract:抽象类,指定该类是否为抽象父类
4.2 id元素
Class元素下必须存在id元素,用来对应与表的主键对应·的属性
4.21 name 持久化类中的表示属性名字
4.22 type 表示属性的hibernate类型(也可以是java类型)
4.23 column 表中的主键字段
4.3 generator元素
Id元素下必须必须存在该元素,用来指定表示属性的生成类,这些类都实现了IdentiferGenerator接口
例generator class=”assigned”/
4.31 increment 自动增加,用于为long,short,int类型生成唯一标识
4.32 identity 对DB2,My
您可能关注的文档
- E27系列是我公司设计生产的一款433MHz射频模块,小体积贴片型,最大功率20dBm。模块自带高性能,弹簧天线E27系列是我公司设计生产的一款433MHz射频模块,小体积贴片型,最大功率20dBm。模块自带高性能,弹簧天线.pdf
- E5会展管理本科人才培养模式研究 需要改E5会展管理本科人才培养模式研究 需要改.doc
- E3207提升设计(定稿)E3207提升设计(定稿).doc
- D、DF、DY型卧式多级离心泵说明书D、DF、DY型卧式多级离心泵说明书.pdf
- E62-DTU-100是“点对点”传输的全双工无线数传模块,发射功率100mW,透明传输方式,工作在425~450MHz频段E62-DTU-100是“点对点”传输的全双工无线数传模块,发射功率100mW,透明传输方式,工作在425~450MHz频段.pdf
- Earth_Science练习题Earth_Science练习题.doc
- EasyHadoop第六次分享-Hadoop小文件问题解决分享(蓝汛张月)EasyHadoop第六次分享-Hadoop小文件问题解决分享(蓝汛张月).pdf
- EasyAR使用必读EasyAR使用必读.pdf
- EBS总账之日记账EBS总账之日记账.ppt
- EC 食品接触法规EC 食品接触法规.pdf
文档评论(0)