Hibernaate 详解
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 详解相关推荐
- 从命令行到IDE,版本管理工具Git详解(远程仓库创建+命令行讲解+IDEA集成使用)
首先,Git已经并不只是GitHub,而是所有基于Git的平台,只要在你的电脑上面下载了Git,你就可以通过Git去管理"基于Git的平台"上的代码,常用的平台有GitHub.Gi ...
- JVM年轻代,老年代,永久代详解
秉承不重复造轮子的原则,查看印象笔记分享连接↓↓↓↓ 传送门:JVM年轻代,老年代,永久代详解 速读摘要 最近被问到了这个问题,解释的不是很清晰,有一些概念略微模糊,在此进行整理和记录,分享给大家.在 ...
- docker常用命令详解
docker常用命令详解 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备忘记录下来. 根据自己的理解,总的来说分为以下几种: Doc ...
- 通俗易懂word2vec详解词嵌入-深度学习
https://blog.csdn.net/just_so_so_fnc/article/details/103304995 skip-gram 原理没看完 https://blog.csdn.net ...
- 深度学习优化函数详解(5)-- Nesterov accelerated gradient (NAG) 优化算法
深度学习优化函数详解系列目录 深度学习优化函数详解(0)– 线性回归问题 深度学习优化函数详解(1)– Gradient Descent 梯度下降法 深度学习优化函数详解(2)– SGD 随机梯度下降 ...
- CUDA之nvidia-smi命令详解---gpu
nvidia-smi是用来查看GPU使用情况的.我常用这个命令判断哪几块GPU空闲,但是最近的GPU使用状态让我很困惑,于是把nvidia-smi命令显示的GPU使用表中各个内容的具体含义解释一下. ...
- Bert代码详解(一)重点详细
这是bert的pytorch版本(与tensorflow一样的,这个更简单些,这个看懂了,tf也能看懂),地址:https://github.com/huggingface/pytorch-pretr ...
- CRF(条件随机场)与Viterbi(维特比)算法原理详解
摘自:https://mp.weixin.qq.com/s/GXbFxlExDtjtQe-OPwfokA https://www.cnblogs.com/zhibei/p/9391014.html C ...
- pytorch nn.LSTM()参数详解
输入数据格式: input(seq_len, batch, input_size) h0(num_layers * num_directions, batch, hidden_size) c0(num ...
最新文章
- Yahoo网站性能优化的34条规则
- 在C#中使用官方驱动操作MongoDB
- 杂项-Log:NLog
- Python常用网页字符串处理技巧
- windows环境下运行.sh文件
- OpenKruise v1.0:云原生应用自动化达到新的高峰
- 14.grafana导入导出;Grafana的安装和Influxdb数据源配置
- Spring Boot与Activiti集成实战
- 数据库提示:正在还原中,无法访问 应该怎么办?
- 论文 参考文献的格式说明
- 基于Java+SpringBoot+vue+element实现扶贫助农政策平台系统
- textarea怎么占满整个td_保健品为什么偏偏盯上老人?作为子女,应怎么面对老人狂买保健品...
- iPhone8已跌至三千元档,迫不及待的入手了一部
- P1 Human Pose Estimation人体姿态综述估计调研
- FREETYPE旋转功能初探
- 【路径规划】基于matlab改进的蚁群算法路径规划【含Matlab源码 335期】
- 手机王者荣耀怎么投屏到电脑
- 全球物联网产品信息安全国际技术规范(ISO15408体系)——《物联网安全通信模块信息安全技术规范》(IoT Secure Communications Module Protection Profi
- 开发者,别让自己孤独
- AndroidStudio 设置全局查找快捷键
热门文章
- logstash_output_mongodb插件用途及安装详解
- linux下安装apache与php;Apache+PHP+MySQL配置攻略
- ubuntu12.04 qtcreate支持中文输入
- javascript的内置对象
- Sharepoint CAML 增删改查 List
- 无法获得锁 /var/cache/apt/archives/lock – open (11 资源临时不可用)
- 条件CSS的高级用法
- [转]取本页URL地址的方法是(总结):
- React Native FlatList和SectionList列表组件
- 细节真的能决定成败么?