为了账号安全,请及时绑定邮箱和手机立即绑定
  • 1.clob和text对应大文本文件,blob对应大的二进制文件,例如视频音频图片 2.java中的clob对应存储大文本文件,java中的blob对应存储大二进制文件 MySQL不支持标准SQL的CLOB类型,在Mysql中,用TEXT,MEDIUMTEXT及LONGTEXT类型来表示长度超过255的长文本数据 获取照片文件的写法 File f=new File("照片的地址"+File.separator+"照片名字"); InputStream input =new FileInputStream(f); Blob image=Hibrbate.getLobCreator(session).createBlob(input,input.available()); s.setpPicture(image); session.save(s);
    查看全部
  • hibernate配置文档: <property name="connection.username">root</property> <property name="connection.password">yingfen</property> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <!-- <property name="connection.url">jdbc:mysql://localhost:3306/stu</property> --> <property name="connection.url">jdbc:mysql:///stu?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>
    查看全部
  • <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>
    查看全部
  • (5)User.hbm.xml常用配置【】 <hibernate-mapping schema="schemaName" //模式的名字 catalog="catalogName" //目录的名称 default-cascade="cassade_style" //级联风格 @ default-access="field/property/CalssName" //访问策略 @ default-lazy="true/false" //加载策略 @ package="packagename" //默认包名 /> <class name="ClassName" //对应映射的类 table="tableName" //对应映射数据库的表 batch-size="N" //抓取策略,一次抓取多少记录 where="condition" //条件 eg:抓取条件 entity-name="EntiyName" //如果需要映射多张表 /> <id //表的主键 name="propertyName" //对应的属性 type="typeName" //对应类型 column="column_nam" //映射数据库中表当中字段名的名称 length="length" //指定长度 <generator class="generatorClass"/> //主键生成策略 @ />
    查看全部
    2 采集 收起 来源:hbm配置文档

    2018-03-22

  • 不使用事务的自动提交方式,记得用session.flush()来输出sql语句,否则添加不成功
    查看全部
    2 采集 收起 来源:transaction简介

    2015-10-18

  • <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的执行流程
    查看全部
    2 采集 收起 来源:session简介

    2015-08-19

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

    2015-07-16

  • 需要导入的jar包
    查看全部
  • hibernate 大体的执行流程: 1.首先创建一个配置对象叫configuration用于读取配置文档hibernate.cfg.xml   Configuration config=new Configuration().configure(); 2.目的是用于创建sessionFactory对象  SessionFactory sessionFactory=config.buildSessionFactory(); 创建sessionFactory对象时就会读取相应的关系映射文件Students.hbm.xml 3.获得sessionfactory对象后就可以创建session对象  Session session=sessionFactory.openSession(); 类似于jdbc中的Connection对象,获得一个session对象就相当于获取到一个数据库链接对象,我们就可以执行session的功能save、delete、update、get等功能 4.在执行session的某个方法是必须要开启一个事务 Transaction transaction=session.beginTransaction(); 因为方法需要封装在事务当中,在执行完方法<session.save(s);>后要提交事务<transaction.commit();>,然后关闭session  <session.close();>。

    查看全部
    2 采集 收起 来源:session简介

    2018-08-11

  • 单一主键:指表中由某一列来充当主键 assigned 由java应用程序负责生成(手工赋值) native 由底层数据库自动生成提示符,如果是MySQL就是increment,如果是Oracle就是sequence,等等。另外,即使手动赋值主键,也不会起作用。 <generator class="native" />mysql 中为AUTO_INCREMENT PRIMARY KEY assigned 当为int时 默认0 其他默认null
    查看全部
  • Transaction事务简介: 1. hibernate对数据库的操作都是封装在事务当中的,并且默认是非自动提交的方式。所以用session保存对象时,如果不开启事务并且没有手工提交事务,对象并不会真正保存在数据库中。 2. 如果你想让hibernate像jdbc那样自动提交事务,必须调用session对象的doWork()方法,获得jdbc的connection后,设置其为自动提交事务模式(注意:通常并不推荐这样做) 综上,我们必须开启事务。 使用Session的doWork()方法提交事务(需要重写execute()方法)。 需要注意的是:在使用save()方法后并不会真正输出sql语句,需要调用flush()强制输出sql语句才可以。然后因为采用了自动提交方式(setAutoCommit(true)),数据才真正保存在数据库。
    查看全部
    2 采集 收起 来源:transaction简介

    2017-02-26

  • 2种方法获得session: 1)session = sessionFactory.openSession(); 2)session = sessionFactory.getCurrentSession(); ---------------------------注:-------------------------------------- 如果是使用getCurrentSession需要在hibernate.cfg.xml文件中进行配置: 1)如果是本地事务(idbc事务) <propertyname="hibernate.current_session_context_class">thread</property> 2)如果是全局事务(jta事务) <propertyname="hibernate.current_session_context_class">jta</property> ----------------------------------------------------------------------- 一篇关于这方面的博客;(值得研究!!) http://aubergine-kang.iteye.com/blog/1306054http://aubergine-kang.iteye.com/blog/1306054 结论: (1)openSession()得到得session可以在显式开启事务的环境中使用,也可以在不开启事务的环境中使用(进行查询);getCurrentSession()必须在显式开启事务环境中使用。 (2)openSession()是否显式开启事务决定了session得到连接的时机不同。不开启事务的情况下数据库连接是在创建Statement时获得。因此在配置二级缓存的情况get()对象时,如果二级缓存中有需要的对象时,不会占用数据库连接。相反开启事务的情况下,无论二级缓存中是否有对象,多会占用数据库连接。 (3)getCurrentSession()总会占用数据库连接。
    查看全部
  • 给大家一种更加实用的写法,大家出错大多数是在url和hbm.xml文件路径上,刚刚学习了这种,希望帮助到大家: <session-factory> <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.password"></property> <property name="hibernate.connection.url"> <![CDATA[ jdbc:mysql://localhost:3306/hibernate?useUnicode=true&characterEncoding=utf8 ]]> </property> <property name="show_sql">true</property> <property name="hbm2ddl.auto">create</property> <!-- 指定映射文件的路径 --> <mapping resource="com/imooc/entity/Student.hbm.xml" /> </session-factory>
    查看全部
  • @hbm.xml常用配置 <br> <hibernate-mapping<br> schema="schemaName" //模式的名字<br> catalog="catalogName" //目录的名称<br> default-cascade="cassade_style" //级联风格 @<br> default-access="field/property/CalssName" //访问策略 @<br> default-lazy="true/false" //加载策略 @<br> package="packagename" //默认包名<br> ></hibernate><br> <class<br> name="ClassName" //对应映射的类<br> table="tableName" //对应映射数据库的表<br> batch-size="N" //抓取策略,一次抓取多少记录<br> where="condition" //条件 eg:抓取条件<br> entity-name="EntiyName" //如果需要映射多张表<br> ></class><br> <id //表的主键<br> name="propertyName" //对应的属性<br> type="typeName" //对应类型<br> column="column_nam" //映射数据库中表当中字段名的名称<br> length="length" //指定长度<br> <generator class="generatorClass"></id> //主键生成策略 @<br> /><br> <br> 1、代理主键:是指与业务无关且能唯一标识数据库中记录,一般是数据库自动生成的,比如mysql可以使用auto_increment,Sql2000可以使用identity生成方式,oracle可以使用sequence生成方式。<br> 2、自然主键:指业务相关,由用户指定,且能唯一标识数据库中的任意一条记录。
    查看全部
    2 采集 收起 来源:hbm配置文档

    2018-03-22

举报

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

微信扫码,参与3人拼团

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

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