为了账号安全,请及时绑定邮箱和手机立即绑定
  • 创建hibernate的配置文件 创建持久化类 创建对象-关系映射文件 通过hibernate api编写访问数据库的代码
    查看全部
  • hibernate单表操作-单一主键 duplicate美 [ˈdu:plɪkeɪt]v. 重复;复制 adj.复制的;副本的;完全一样的 n.副本;完全一样的东西 ;复制品 单一主键:表当中某一列column充当主键 assigned 由Java应用程序负责生成(手工赋值)。 native 有底层数据库自动生成标识符。 如果是MySQL就是increment(自动增长类型),如果是Oracle就是sequence(序列) 等等。
    查看全部
  • hbm配置文件常用设置 hbm.xml配置文档 <hibernate-mapping<br> schema="schemaName" //模式的名字 catalog="catalogName" //目录的名称 default-cascade="cassade_style" //级联风格 default-access="field/property/CalssName" //访问策略 default-lazy="true/false" //加载策略 package="packagename" //默认包名 /> <class<br> name="ClassName" //对应映射的类<br> table="tableName" //对应映射数据库的表<br> batch-size="N" //抓取策略,一次抓取多少记录<br> where="condition" //条件 eg:抓取条件<br> entity-name="EntiyName" //如果需要映射多张表<br> /> //表的主键 <id name="propertyName" //对应的属性 type="typeName" //对应类型 column="column_nam" //映射数据库中表当中字段名的名称 length="length" //指定长度 <generator class="generatorClass"/>//主键生成策略 </id> 主键生成策略: 由于使用MYSQL,着重讲解一下两个 native:有底层数据库自动生成标识符 assigned:手工赋值
    查看全部
    0 采集 收起 来源:hbm配置文档

    2018-03-22

  • ·openSession 区别getCurrentSession 1)getCurrentSession在事务提交或者回滚之后会自动关闭,而openSession需要手动关闭。 如果使用openSession而没有手动关闭,多次之后会导致连接池溢出。 2)openSession 每次创建新的对象,getCurrentSession使用现有的session对象(单例模式)。 Session session1 = serviceRegistry.openSession(); Session session2 = serviceRegistry.openSession(); System.out.println(session1==session2);//console ->false Session session1 = serviceRegistry.getCurrentSession(); Session session2 = serviceRegistry.getCurrentSession(); System.out.println(session1==session2);//console ->true
    查看全部
  • session详解 ·如何获得session对象? 1)openSession 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> · @test  public void testOpenSession(){      Configuration config = new Configuration().configure();// 创建配置对象   ServiceRegistry serviceRegistry = new ServiceRegistryBuilder()applySettings(config.getProperties()).buildServiceRegistry();//创建服务注册对象   SessionFactorysessionFactory  = conf.buildSessionFactory(serviceRegistry );//创建会话工厂对象 Session session = serviceRegistry .openSession();//打开会话 //1)配置文档:<property name="hibernate.current_session_context_class">thread</property>追加 //2)Session session = serviceRegistry.getCurrentSession();//获得当前会话 IF(session != null) { System.out.println("create session success!"); }  }
    查看全部
  • transaction简介:事务 ·hibernate对数据的操作都是封装在事务当中,并且默认是非自动提交的方式。 所以用session保存对象时,如果不开启事务,并且手工提交事务,对象并不会真正保存在数据库中。 ·如果想让hibernate想jdbc那样自动提交事务,必须调用session对象的doWork()方法,活得jdbc的connection后,设置其为自动提交事务模式。(注意:通常并不推荐这样做) --自动提交事务(注意:通常并不推荐这样做)--- //不开启事务(transaction.commit()//提交事务)的方式  @Test  public void testSaveStudents(){   Stusdents s= new Students(1,"ZSF",new Date(),"wudang"); session.doWork(new Work(){ @Override public void execute(Connection connection) throws SQLException{ connection.setAutoCommit(true); } })   session.save(s);//保存对象进入数据库   session.flush();//强制发出SQL语句(通过SQL写入SQL)  } ---自动提交事务(注意:通常并不推荐这样做)--- private Transaction transaction; transaction  = session.beginTransaction();//打开事务 transaction.commit()//提交事务
    查看全部
    0 采集 收起 来源:transaction简介

    2018-03-22

  • session简介 开启一个一个session必须开启一个事务,所以session封装在事务中。 session:可理解为session是一个数据库操作对象。 session与connection,是多对一关系,每个session都有一个与之对应的connection,一个connection不同时刻可提供多个session使用。 把对象保存在关系数据库中需要调用session的各种方法: 如: save(),update(),delete(),createQuery()等。
    查看全部
    0 采集 收起 来源:session简介

    2017-03-22

  • hibernate常用配置:注意:hibernate前缀可以省略 注释符号:<!-- context --> hibernate.show_sql:是否把hibernate运行时的SQL语句输出到控制台,编码阶段便于测试。 hibernate.format_sql:输出到控制台的SQL语句是否进行排版,便于阅读。建议设TRUE。 hbm2ddl.auto:表结构生成策略。可帮助由java代码生成数据库脚本,进而生成具体的表结构。 create(表结构存在,先删除,再重新创建)|update(在原有表结构中插入)|create-drop(先创建再删除)|validate(验证表结构,如现在结构与原结构不同,则不会创建表结构) hibernate.default_schema:默认的数据库。执行SQL时,默认给所有表名加上数据库前缀 hibernate.dialect:配置hibernate数据库方言,hibernate可针对特殊数据库进行优化。
    查看全部
  • driver_class 而不是driver.class,同时,mapping那里是相对路径
    查看全部
  • 课程总结
    查看全部
  • 基本步骤
    查看全部
  • ORM(Object/Relationship Mapping:对象/关系映射)
    查看全部
    0 采集 收起 来源:什么是ORM

    2017-03-21

  • 第一个Hibernate例子-使用Junit测试 介绍注解标签: ·@Test:测试方法 ·@Before:初始化方法 ·@After:释放资源 顺序 before test after 通过Hibernate API编写访问数据库的代码 ·建立一个源程序文件夹test(source folder) package org.Junit.test public calss Student{ private SessionFactory sessionFactory; private Session session; private Transaction transaction; @Before public void init(){ // 创建配置对象 Configuration config = new Configuration().configure(); //创建服务注册对象 ServiceRegistry serviceRegistry = new ServiceRegistryBuilder()applySettings(config.getProperties()).buildServiceRegistry(); sessionFactory  = conf.buildSessionFactory(serviceRegistry );//创建会话工厂对象 session = serviceRegistry .openSession();//打开会话 transaction  = session.beginTransaction();//打开事务 } @After public void destory(){ transaction.commit()//提交事务 session.close(); sessionFactory.close(); } @Test public void testSaveStudents(){ Stusdents s= new Students(1,"ZSF",new Date(),"wudang"); session.save(s);//保存对象进入数据库 } }
    查看全部
  • hibernate.cfg.xml常用配置
    查看全部
  • 组件属性,很有用
    查看全部

举报

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

微信扫码,参与3人拼团

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

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