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():检查事务是否提交。

  

转载于:https://www.cnblogs.com/bulrush/p/7783229.html

Hibernaate 详解相关推荐

  1. 从命令行到IDE,版本管理工具Git详解(远程仓库创建+命令行讲解+IDEA集成使用)

    首先,Git已经并不只是GitHub,而是所有基于Git的平台,只要在你的电脑上面下载了Git,你就可以通过Git去管理"基于Git的平台"上的代码,常用的平台有GitHub.Gi ...

  2. JVM年轻代,老年代,永久代详解​​​​​​​

    秉承不重复造轮子的原则,查看印象笔记分享连接↓↓↓↓ 传送门:JVM年轻代,老年代,永久代详解 速读摘要 最近被问到了这个问题,解释的不是很清晰,有一些概念略微模糊,在此进行整理和记录,分享给大家.在 ...

  3. docker常用命令详解

    docker常用命令详解 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备忘记录下来. 根据自己的理解,总的来说分为以下几种: Doc ...

  4. 通俗易懂word2vec详解词嵌入-深度学习

    https://blog.csdn.net/just_so_so_fnc/article/details/103304995 skip-gram 原理没看完 https://blog.csdn.net ...

  5. 深度学习优化函数详解(5)-- Nesterov accelerated gradient (NAG) 优化算法

    深度学习优化函数详解系列目录 深度学习优化函数详解(0)– 线性回归问题 深度学习优化函数详解(1)– Gradient Descent 梯度下降法 深度学习优化函数详解(2)– SGD 随机梯度下降 ...

  6. CUDA之nvidia-smi命令详解---gpu

    nvidia-smi是用来查看GPU使用情况的.我常用这个命令判断哪几块GPU空闲,但是最近的GPU使用状态让我很困惑,于是把nvidia-smi命令显示的GPU使用表中各个内容的具体含义解释一下. ...

  7. Bert代码详解(一)重点详细

    这是bert的pytorch版本(与tensorflow一样的,这个更简单些,这个看懂了,tf也能看懂),地址:https://github.com/huggingface/pytorch-pretr ...

  8. CRF(条件随机场)与Viterbi(维特比)算法原理详解

    摘自:https://mp.weixin.qq.com/s/GXbFxlExDtjtQe-OPwfokA https://www.cnblogs.com/zhibei/p/9391014.html C ...

  9. pytorch nn.LSTM()参数详解

    输入数据格式: input(seq_len, batch, input_size) h0(num_layers * num_directions, batch, hidden_size) c0(num ...

最新文章

  1. Yahoo网站性能优化的34条规则
  2. 在C#中使用官方驱动操作MongoDB
  3. 杂项-Log:NLog
  4. Python常用网页字符串处理技巧
  5. windows环境下运行.sh文件
  6. OpenKruise v1.0:云原生应用自动化达到新的高峰
  7. 14.grafana导入导出;Grafana的安装和Influxdb数据源配置
  8. Spring Boot与Activiti集成实战
  9. 数据库提示:正在还原中,无法访问 应该怎么办?
  10. 论文 参考文献的格式说明
  11. 基于Java+SpringBoot+vue+element实现扶贫助农政策平台系统
  12. textarea怎么占满整个td_保健品为什么偏偏盯上老人?作为子女,应怎么面对老人狂买保健品...
  13. iPhone8已跌至三千元档,迫不及待的入手了一部
  14. P1 Human Pose Estimation人体姿态综述估计调研
  15. FREETYPE旋转功能初探
  16. 【路径规划】基于matlab改进的蚁群算法路径规划【含Matlab源码 335期】
  17. 手机王者荣耀怎么投屏到电脑
  18. 全球物联网产品信息安全国际技术规范(ISO15408体系)——《物联网安全通信模块信息安全技术规范》(IoT Secure Communications Module Protection Profi
  19. 开发者,别让自己孤独
  20. AndroidStudio 设置全局查找快捷键

热门文章

  1. logstash_output_mongodb插件用途及安装详解
  2. linux下安装apache与php;Apache+PHP+MySQL配置攻略
  3. ubuntu12.04 qtcreate支持中文输入
  4. javascript的内置对象
  5. Sharepoint CAML 增删改查 List
  6. 无法获得锁 /var/cache/apt/archives/lock – open (11 资源临时不可用)
  7. 条件CSS的高级用法
  8. [转]取本页URL地址的方法是(总结):
  9. React Native FlatList和SectionList列表组件
  10. 细节真的能决定成败么?