为了账号安全,请及时绑定邮箱和手机立即绑定
  • 获得session对象 (1)openSessionion (2)getCurrentSession 如果使用getCurrentSession需要在hibernate.cfg.xml文件中进行配置: 如果是本地事务(jdbc事务) <property name="hibernate.current_session_context_class">thread</property> 如果是全局事务(jta事务) <property name="hibernate.current_session_context_class">jta</property> openSession 每次使用都是打开一个新的session,使用完需要调用close方法关闭session; getCurrentSession 是获取当前session对象,连续使用多次时,得到的session都是同一个对象,这就是与openSession的区别之一; 一般在实际开发中,往往使用getCurrentSession多,因为一般是处理同一个事务,所以在一般情况下比较少使用openSession;
    查看全部
  • 1、Hibernate对数据的操作都是封装在事务当中,并且默认是非自动提交的方式。所以用session保存对象时,如果不开启事务,并且手工提交事务,对象并不会真正保存在数据库中。 2、如果不开启事务,并想让Hibernate像jdbc那样自动提交事务,必须调用session对象的doWork()方法,获得jdbc的connection后,设置其为自动提交事务模式。(注意:通常并不推荐这样做) Ps:在session.save();前操作doWork(new Work(){conn.setAutoCommit(true);});时,记得在session.save();后调用session.flush();否则对象不会保存到数据库中。
    查看全部
    0 采集 收起 来源:transaction简介

    2016-03-28

  • configuration:读取配置文档 sessionFactory:对象关系映射文件 session:操作数据库的对象,类似于JDBC中的connection session的方法:save,delete,update,createQuery() Transaction:commit session和connection:多对一关系,一个connection服务多个session,每个session都有与之对应的connection 1.不建议直接使用jdbc的connection操作数据库,而是通过session操作数据库。 2.session可以理解为操作数据库的对象,操作数据库之前必须先获取session的实例 3.session与connection,是多对一关系,每个session都有一个与之对应的connection,一个connection不同时刻可以供多个session使用。 4.把对象保存到关系数据库中需要调用session的各种方法:save(),update(),delete(),createQuery
    查看全部
    0 采集 收起 来源:session简介

    2016-03-28

  • <property name="show_sql">true</property> <property name="format_sql">true</property> <property name="hibernate.default_schema">hibernate</property>//设置前提在hbm.xml里没有设置schema="dbo" catalog="hibernatedb";否则无效,hbm.xml设置会优先。 <property name="hbm2ddl.auto">create</property> 1、create:先删除原有的表,然后重新生成。 2、update:不会删除原有的表,在原有的基础上继续操作。
    查看全部
  • //创建初始化 @Before Configuration config=new Configuration().configure();//创建配置对象 //创建服务注册对象 ServiceRegistry serviceRegistry=new ServiceRegistryBuilder().applySettings(config.getProperties).buildServiceRegistry(); sessionFactory=config.buildSessionFactory(serviceRegistry);//创建会话工厂 session=sessionFactory.openSession();//打开会话 transaction=session.beginTransaction();//打开事务 transaction.commit();//提交事务 session.close();//关闭会话 sessionFactory.close();//关闭会话工厂
    查看全部
  • 使用 junit 测试: @Test 测试注释标签 @Before 初始化方法 @After 释放资源
    查看全部
  • hibernate持久化类的设计原则,和JavaBeans一样,遵循4个设计原则: 1.是公有的类 2.提供公有的不带参数的默认的构造方法 3.属性私有 4.属性setter/getter封装
    查看全部
    0 采集 收起 来源:创建持久化类

    2016-03-28

  • <property name="connection.username">root</property> <property name="connection.password">123456</property> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql:///hibernate?useUnicode=true&amp;characterEncoding=UTF-8</property> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <property name="show_sql">true</property> <property name="format_sql">true</property> <property name="hbm2ddl.auto">create</property>
    查看全部
  • @什么是Hibernate Hibernate是java领域的一块开源的ORM框架技术。 Hibernate对JDBC进行了非常轻量级的对象封装。 @其它主流的ORM框架技术: 1、MyBatis:前身就是著名的iBatis。 2、Toplink:后被Oracle收购,并重新包装为Oracle AS TopLink。 3、EJB:本身是JAVAEE的规范。
    查看全部
    0 采集 收起 来源:Hibernate简介

    2016-03-28

  • 太多数据库语句的缺点: (1)不同数据库使用的SQL语法不同 eg:PL/SQL与T/SQL (2)同样的功能在不同的数据库中有不同的实现方式。 eg:分页SQL (3)程序过分依赖SQL对程序的移植及扩展,维护等带来很大的麻烦
    查看全部
    0 采集 收起 来源:什么是ORM

    2016-03-28

  • ORM:Object/Relationship Mapping
    查看全部
    0 采集 收起 来源:什么是ORM

    2016-03-31

  • 单表crud
    查看全部
  • 区别2:当查询对象不存在时 get返回null load返回ObjectNotFound异常
    查看全部
  • session.get()和session.load()的区别
    查看全部
  • 组件属性
    查看全部

举报

0/150
提交
取消
课程须知
小伙伴们,学习本门课程前需要具备Java基础知识和面向对象编程思想,并能够熟练使用JDBC操作Mysql数据库。
老师告诉你能学到什么?
1、理解ORM模型 2、掌握Hibernate基本概念 3、能够熟练创建Hibernate实例

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!