hibernate.cfg.xml

连接数据库:
connection.username 数据库的名称。这是我自己的是luwei
connection.password 数据库的密码 luwei
connection.driver_class 数据库连接驱动 com.mysql.jdbc.Driver
connection.url 数据库连接的URL jdbc:mysql:///luwei 数据库方言:
dialect org.hibernate.dialect.MySQL5InnoDBDialect
控制台打印SQL
show_sql true
格式化SQL(就是美化SQL)
format_sql true
自动生成表
hbm2ddl.auto update 创建后就不会删除已有的行和列
create 每次都重新生成一个表
create-drop sessionFactory 关闭后就删除
指定程序需要的对象---关系映射文件
<mapping resource="com/hibernate/helloworld/News.hbm.xml"/>

2:每个类是什么含义?

Configuration类:

         加载hibernate.cfg.xml文件。负责管理Hibernate的配置信息。  持久化类与数据表的映射关系。

创建Configuration    :  Configuration configuration = new Configuration().configure();

configure()方法的源码:

public Configuration configure() throws HibernateException {
configure( "/hibernate.cfg.xml" );
return this;
}

SessionFactory接口:

创建ServiceRegistry对象:

//hibernate 的任何配置和服务都需要在该对象中注册后才能有效.
ServiceRegistry serviceRegistry =
new ServiceRegistryBuilder().applySettings(configuration.getProperties())
.buildServiceRegistry();

创建SessionFactory:

 SessionFactory  sessionFactory = configuration.buildSessionFactory(serviceRegistry);

Session:

  Session 是应用程序与数据库之间交互操作的一个单线程对象,是 Hibernate 运作的中心,所有持久化对象必须在 session 的管理下才可以进行持久化操作。

  此对象的生命周期很短。Session 对象有一个一级缓存,显式执行 flush 之前,所有的持久层操作的数据都缓存在 session 对象处。相当于 JDBC 中的 Connection。

创建Session:

Session session = sessionFactory.openSession();

常用方法:

    取得持久化对象的方法   get()   load()

    保存。save()  更新。update()    saveOrUpdate()    删除。delete()

    开启事务:beginTransaction()

    管理session:isOpen()   flush()   clear()    evict()    close()

Transaction(事务)

   代表一次原子操作,它具有数据库事务的概念。所有持久层都应该在事务管理下进行,即使是只读操作。
  创建:

//3. 开启事务
Transaction transaction = session.beginTransaction();

事务常用的方法:

    commit():提交关联的session实例。

    rollback():撤销事务操作。

    wasCommitted():检查事务是否提交。

  

Hibernaate 详解的更多相关文章

  1. Linq之旅:Linq入门详解(Linq to Objects)

    示例代码下载:Linq之旅:Linq入门详解(Linq to Objects) 本博文详细介绍 .NET 3.5 中引入的重要功能:Language Integrated Query(LINQ,语言集 ...

  2. 架构设计:远程调用服务架构设计及zookeeper技术详解(下篇)

    一.下篇开头的废话 终于开写下篇了,这也是我写远程调用框架的第三篇文章,前两篇都被博客园作为[编辑推荐]的文章,很兴奋哦,嘿嘿~~~~,本人是个很臭美的人,一定得要截图为证: 今天是2014年的第一天 ...

  3. EntityFramework Core 1.1 Add、Attach、Update、Remove方法如何高效使用详解

    前言 我比较喜欢安静,大概和我喜欢研究和琢磨技术原因相关吧,刚好到了元旦节,这几天可以好好学习下EF Core,同时在项目当中用到EF Core,借此机会给予比较深入的理解,这里我们只讲解和EF 6. ...

  4. Java 字符串格式化详解

    Java 字符串格式化详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 文中如有纰漏,欢迎大家留言指出. 在 Java 的 String 类中,可以使用 format() 方法 ...

  5. Android Notification 详解(一)——基本操作

    Android Notification 详解(一)--基本操作 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Notification 文中如有纰 ...

  6. Android Notification 详解——基本操作

    Android Notification 详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 前几天项目中有用到 Android 通知相关的内容,索性把 Android Notificatio ...

  7. Git初探--笔记整理和Git命令详解

    几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面c ...

  8. Drawable实战解析:Android XML shape 标签使用详解(apk瘦身,减少内存好帮手)

    Android XML shape 标签使用详解   一个android开发者肯定懂得使用 xml 定义一个 Drawable,比如定义一个 rect 或者 circle 作为一个 View 的背景. ...

  9. Node.js npm 详解

    一.npm简介 安装npm请阅读我之前的文章Hello Node中npm安装那一部分,不过只介绍了linux平台,如果是其它平台,有前辈写了更加详细的介绍. npm的全称:Node Package M ...

随机推荐

  1. python如何在shell命令行执行创建用户命令

  2. 10.17 linux 文件权限

    文件权限模拟练习 [root@wen ~]# groupadd incahome[root@wen ~]# usersdd oldboy -g incahome-bash: usersdd: comm ...

  3. 全面质量管理体系运转的基本方法 PDCA

    PDCA管理循环 PDCA循环作为全面质量管理体系运转的基本方法,其实是需要搜集大量数据资料,并综合运用各种管理技术和方法.全面质量管理活动的全部过程,就是质量计划的制订和组织实现的过程,这个过程就是 ...

  4. <HTTP权威指南>记录 ---- 网络爬虫

    网络爬虫 网络爬虫(web crawler)能够在无需人类干预的情况下自动进行一系列Web事务处理的软件程序.很多爬虫会从一个Web站点逛到另一个Web站点,获取内容,跟踪超链,并对它们找到的数据进行 ...

  5. php与js互相调用

    php中调用js <?php echo '<script>var yearid=$("#yearId").val()</script>'; echo ...

  6. spring 注释

    4

  7. Linux下docker安装教程

    目前最新版本的docker19.03支持nvidia显卡与容器的无缝对接,从而摆脱了对nvidia-docker的依赖.因此毫不犹豫安装19.03版本的docker,安装教程可参考官方教程Centos ...

  8. Vue.use

    不管是对象还是函数install 是Vue.use()必须要有的方法 否则无法使用(Vue.use(MintUI))但axios 不需要Vue.use(axios) 可以直接使用 因为axios没有i ...

  9. java虚拟机规范(se8)——class文件格式(五)

    4.7.1 定义和命名新属性 允许编译器定义和发布的class文件在class文件结构体.field_info结构体.method_info结构体和Code结构体中的attributes表中包含新的属 ...

  10. 记录一次kibana启动Unable to fetch data from reporting collector

    版本不匹配导致 应该es与kibana版本一致 本文链接:https://blog.csdn.net/qq_33293753/article/details/87894882