Hibernate—第一季who are you

框架是什么?

框架是用来提高开发效率的。封装了好了一些功能,我们需要使用这些功能时,调用即可,不需要再手动实现。所以框架可以理解成是一个半成品的项目。只要懂得如何驾驭这些功能即可。

hibernate框架是什么

帮我们完成数据库操作。操作数据库的时候,可以以面向对象的方式来完成。不需要书写SQL语句。(有些复杂的查询还是sql更简单)

Hibernate 导包

Hibernate---lib---required(hibernate必需包)当然不要忘记导入数据库驱动包。

对象实体和关系映射配置(上代码)

注意:对象实体需要提供无参数构造,提供共有get/set方法访问,应尽量使用包装类型(就多一个null值),对象要有oid与数据库中的主键列对应,不要用final修饰class。

注意:package包名,我的User在com.domain下。 class->name对应实体类名。table对应数据库表名。name对应实体属性名。column对应数据库字段名。generator->class 主键生成策略(一共有7中基本上用native,有兴趣可以自己看看其他)

下来就是代码测试

下面是彩蛋:

Session有三种状态

瞬时状态:没有id,没在session缓存中。

持久化状态:有id,在session缓存中。

游离或叫托管状态:有id,没有在session缓存中

持久化状态下transaction.commit()提交事物的时候session会把对象同步到数据库中所以

不用使用session.update(user);也可以修改user

(如果不理解,自己撸代码体会下持久化状态)

hibernate中的事务

业务开始之前打开事务,,业务执行之后提交事务。 执行过程中出现异常回滚事务。所以我们要确保dao层和service层使用的使用同一个session对象。在hibernate中调用SessionFactory.getCurrentSession()方法即可获得与当前线程绑定的session对象。

注意: 调用getCurrentSession方法必须配合主配置中的一段配置。

如何在hibernate中指定数据库的隔离级别(1.读未提交2.读已提交4.可从复读8.串行)

更多内容请等下一季更新

....................END.......................

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180123G02RDC00?refer=cp_1026

同媒体快讯

  • Jsoup

    2018-10-23
  • Servlet开篇

    2018-10-23

相关快讯

扫码关注云+社区