关键词:
Hibernate API 详解
1.Configuration
功能:配置加载类,用于加载主配置,orm元数据加载
.创建:
Configuration conf = new Configuration();
读取指定配置文件(加载主配置文件,即我们经常创建的"hibernate.cfg.xml")
从下图中可以发现有很多关于读取方法的重载。。。
虽然有这么多重载,但是一般咱就用无参构造方法把,默认找到src下的hibernate.cfg.xml文件
conf.configure();
当然可以在创建Configuration对象的时候直接执行:
Configuration conf = new Configuration().configure();
它们的源码如下:
2.SessionFactory
功能:用于创建数据库核心对象session对象的工厂,简单的说,功能就只有一个-------------------创建session对象
注意:
1.sessionFactory负责保存和使用所有配置信息,消耗内存非常大
2.sessionFactory属于线程安全的对象设计(不同的用户对应不同的session)
结论:保证在web项目中,只创建一个sessionFactory
读取完主配置文件(hibernate.cfg.xml)后自然要拿到SessionFactory
SessionFactory sf = conf.buildSessionFactory();
3.session对象
创建:
①:一个新的session对象
Session session = sf.openSession();
②:获得一个与线程绑定的session对象
Session cSession = sf.getCurrentSession();
①插入
注意:
增删改查操作之前要开启事务,结束后要提交事务
最后要session释放资源(后面的操作我就不完整写了)
拿到对象,直接用save方法就行了
Transaction tx = session.beginTransaction(); Customer customer = new Customer(); customer.setCust_id(2);
customer.setCust_name("测试"); session.save(customer); tx.commit();
session.close();
②根据主键查询
Customer customer = session.get(Customer.class, 2);
③修改
拿到对象然后调用update方法()
Customer customer = session.get(Customer.class, 2); customer.setCust_name("测试2"); session.update(customer);
发现一个"插入或者修改"
④删除
首先拿到对象,然后调用delete()
Customer customer = session.get(Customer.class, 2); session.delete(customer);
4.自定义Hibernate工具类
对于SessionFactory,提到最好只创建一个,其次就是封装重复代码,提高代码的复用性
package deep.utils; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; /** * Hibernate工具类 * @author DeepSleeping * */ public class HibernateUtils private static SessionFactory sessionFactory; static Configuration conf = new Configuration().configure(); sessionFactory = conf.buildSessionFactory(); public static Session getSession() return sessionFactory.openSession(); public static Session getCurrentSession() return sessionFactory.getCurrentSession();
hibernate初探之单表映射——通过hibernateapi编写访问数据库的代码
编写一个Hibernate例子第五步:通过HibernateAPI编写访问数据库的代码初始化方法要实现以下功能: 查看详情
hibernateapi详解
一、Configuration类用来加载默认文件路径下的配置文件(hibernate.properties)。调用configure()方法会加载默认文件路径下的xml格式的配置文件(hibernate.cfg.xml)推荐使用。如果配置文件在不默认文件路径下或者配置文件名不符合默认规则... 查看详情
hibernate(十四篇)
...理 (三)Hibernate对象-关系映射文件 (四)HibernateAPI详解 (五)Hibernate一级缓存 (六)Hibernate的二级缓存 (七)HibernateJava对象持久化层的状态 (八 查看详情
hibernate学习笔记(代码片段)
...⽂件3、创建实体类4、创建实体类-关系映射⽂件5、调⽤HibernateAPI完成操作1.一对一关系 具体操作1、创 查看详情
hibernate学习笔记(代码片段)
...⽂件3、创建实体类4、创建实体类-关系映射⽂件5、调⽤HibernateAPI完成操作1.一对一关系 具体操作1、创 查看详情
java学习之hibernate框架使用
...⽂件3、创建实体类4、创建实体类-关系映射⽂件5、调⽤HibernateAPI完成操作具体操作<dependencies><dependency 查看详情
Spring+Hibernate,Autowire sessionFactory 到 hibernate DAO
...:2011-05-0622:27:39【问题描述】:我有一个HibernateDAO,根据HibernateAPI3和Spring3.x,我只使用了sessionFactory和不是Hibernat 查看详情
JPA/Hibernate 类型安全删除查询
...CriteriaQuery示例是针对SELECT查询的。有没有办法使用JPA2或HibernateAPI构建类型安全的DELETE查询?【问题讨论】:【参考方案1】:我认为这是不可能的。引用自http://blogs.oracle.com 查看详情
03-hibernate的入门
Hibernate的入门:第一步:下载Hibernate的开发包:http://sourceforge.net/projects/hibernate/files/hibernate3 第二步:Hibernate框架目录结构:documentation :Hibernate文档lib :Hibernate开发jar包*bytecode 查看详情
hibernate入门
Hibernate概述 优缺点 与Mybatis比较 配置Hibernate框架 下载并部署jar文件 编写Hibernate配置文件 添加本地dtd文件映射(提供编码提示,可添加configuration和mapping) <!DOCTYPEhibernate-configurationP... 查看详情
hibernate入门程序
在第一个Hibernate入门示例程序中,我们将使用eclipseIDE创建一个简单的hibernate应用程序示例。要在EclipseIDE中创建第一个hibernate应用程序,需要遵循以下步骤:重要提示:按照惯例,易百教程的每个入门教程程序都会详细介绍对应... 查看详情
hibernate入门
Hibernate入门:执行增,删,改,查操作1.我们在新建项目之后需要导入相应的jar包2.我们需要在src目录下新建一个xml文件,名为hibernate.cfg.xml(大配置文件) <?xmlversion=‘1.0‘encoding=‘utf-8‘?><!DOCTYPEhibernate-configurationPUBLI... 查看详情
hibernate_基本配置和初始化步骤
...te配置文件2)创建持久化类3)创建对象-关系映射4)通过hibernateapi编写访问数据库的代码 2.eclipse导入jar包:偏好设置->java->buildpath->userlibraries->new新建library并导入jar包->configbuildpath->addlib 查看详情
spring整合hibernate4:事务管理
...icode.com/info-detail-110033.html Spring和Hibernate整合后,通过HibernateAPI进行数据库操作时发现每次都要opensession,close,beginTransaction,commit,这些都是重复的工作,我们可以把事务管理部分交给spring框架完成。 配置事务(xml方式... 查看详情
hibernate入门简介----张冬
简单的Hibernate入门简介转自:http://blog.csdn.net/doodoofish/article/details/43207其实Hibernate本身是个独立的框架,它不需要任何webserver或applicationserver的支持。然而,大多数的Hibernate入门介绍都加入了很多非Hibernate的东西,... 查看详情
Hibernate Envers - 在启动时填写审计表
...。在启动时,我必须从SQL脚本加载大量数据(而不是使用HibernateAPI!)。毕竟我看不到审计表中跟踪的任 查看详情
hibernate4入门
---初始化数据importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.ArrayList;importorg.hibernate.Session;importorg.hibernate.SessionFactory;importorg.hibernate.cfg.Configuration;p 查看详情
hibernate的入门:
1下载Hibernate5http://sourceforge.net/projects/hibernate/files/hibernate-orm/5.0.7.Final/hibernate-release-5.0.7.Final.zip/download项目目录:2创建表1Createdatabasehibernate_day01;2Usehibernate_day01;3CREATETABL 查看详情