框架是什么?
框架是用来提高开发效率的。封装了好了一些功能,我们需要使用这些功能时,调用即可,不需要再手动实现。所以框架可以理解成是一个半成品的项目。只要懂得如何驾驭这些功能即可。
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.......................
领取专属 10元无门槛券
私享最新 技术干货