为了账号安全,请及时绑定邮箱和手机立即绑定
  • 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基本数据类型 前两列比较常用,例如在配置文档中的type就经常使用这些。 date 表示日期:YYYY-MM-dd time 表示时间:hh:mm:ss tiemstamp时间戳: yyyy-MM-dd hh:mm:ss 另外,映射的数据类型设置会决定最后数据库中的类型。 比如我们在Java程序中使用的是java.util.Date类型定义变量Birthday。但在映射关系的配置文档中对应的type改成date类型,那么最后保存在数据库的Birthday类型就是date,也就是YYYY-MM-dd,而非java.util.Date(或者timestamp)的YYYY-MM-dd hh:mm:ss。
    查看全部
  • 单一主键:指表中由某一列来充当主键 assigned 由java应用程序负责生成(手工赋值) native 由底层数据库自动生成提示符,如果是MySQL就是increment,如果是Oracle就是sequence,等等。另外,即使手动赋值主键,也不会起作用。 <generator class="native" />mysql 中为AUTO_INCREMENT PRIMARY KEY assigned 当为int时 默认0 其他默认null
    查看全部
  • 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、自然主键:指业务相关,由用户指定,且能唯一标识数据库中的任意一条记录。
    查看全部
    0 采集 收起 来源:hbm配置文档

    2018-03-22

  • openSession与getCurrentSession的区别: (1)getCurrentSession在事务提交或者回滚之后会自动关闭,而openSesssion需要你手动关闭。如果使用openSession而没有手动关闭,多次之后会导致连接池溢出! (2)openSession每次创建新的session对象,getCurrentSession使用现有的session对象 openSession与getCurrentSession openSession 每次使用都是打开一个新的session,使用完需要调用close方法关闭session; getCurrentSession 是获取当前session对象,连续使用多次时,得到的session都是同一个对象,这就是与openSession的区别之一 ; 一般在实际开发中,往往使用getCurrentSession多,因为一般是处理同一个事务,所以在一般情况下比较少使用openSession;
    查看全部
  • 如何获得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,事务: 事务表示一个由一系列的数据库操作组成的不可分割的逻辑单位,其中的操作要么全做要么全都不做 2,JDBC事务 JDBC事务由Connnection对象控制管理,也就是说,事务管理实际上是在JDBC Connection中实现。事务周期限于Connection的生命周期。 3,JTA事务 提供了跨数据库连接(或其他JTA资源)的事务管理能力
    查看全部
  • Transaction事务简介: 1. hibernate对数据库的操作都是封装在事务当中的,并且默认是非自动提交的方式。所以用session保存对象时,如果不开启事务并且没有手工提交事务,对象并不会真正保存在数据库中。 2. 如果你想让hibernate像jdbc那样自动提交事务,必须调用session对象的doWork()方法,获得jdbc的connection后,设置其为自动提交事务模式(注意:通常并不推荐这样做) 综上,我们必须开启事务。 使用Session的doWork()方法提交事务(需要重写execute()方法)。 需要注意的是:在使用save()方法后并不会真正输出sql语句,需要调用flush()强制输出sql语句才可以。然后因为采用了自动提交方式(setAutoCommit(true)),数据才真正保存在数据库。
    查看全部
    0 采集 收起 来源:transaction简介

    2017-04-04

  • hibernate的执行流程 1.配置对象Configuration,作用: 读取配置文档:Hibernate.cfg.xml; 创建SessionFactory对象 2.SessionFactory,作用: 读取相应的里面加载的对象关系映射文件 创建session文件 3.session,作用: 类似于JDBC中的Connection,这个session对象等同于连接对象 执行增删改查: save,delete,update,get。 4.执行某个session对象的方法的时候,必须开启一个事物transaction,这些方法需要封装在事物当中。 5.执行完成方法之后,需要提交事务并且关闭session tx.commit() session.close() 1.不建议直接使用jdbc的connection操作数据库,而是通过session操作数据库。 2.session可以了解为操作数据库的对象,操作数据库之前必须先获取session的实例 3.session与connection,是多对一关系,每个session都有一个与之对应的connection,一个connection不同时刻可以供多个session使用。 4.把对象保存到关系数据库中需要调用session的各种方法:save(),update(),delete(),createQuery
    查看全部
    0 采集 收起 来源:session简介

    2017-04-04

  • hibernate.cfg.xml配置文档的常用配置. 程序在运行的时候会读取hibernate.cfg.xml配置文档,从而实现连接数据库,并且生成表结构. 设置了<property name="show_sql">true</property>,与<property name="format_sql">true</property>,则会把hibernate运行时对数据库的操作时的sql语句会显示在控制台并且格式化. <property name="hbm2ddl.auto">create</property>,即重新删除表结构再创建.所以之前的记录消失. <property name="hbm2ddl.auto">update</property>,它不会删除表结构也不会创建新的表结构,会保留原有的数据,只是更新.没有"hbm2ddl.auto"属性一样也是可以添加新的数据,会保留原有的数据. <property name="hibernate.default_schema">hibernate</property>,则在控制台输出的sql语句中,会在表名之前加上数据库名.
    查看全部
  • 创建对象关系映射文件后,需在hibernate.cfg.xml配置文件声明,例如: <mapping resource="com/apache/entity/User.xml" /> 代码表示初始化 Hibernate 环境时将装载User.xml 映射信息。 * 创建数据库,字符集 和 排序规则 都设置为 utf-8 格式 * Source Folder -- 源程序文件 * 使用 junit 测试: @Test 测试注释标签 @Before 初始化方法 @After 释放资源 测试框架 @Before public void init(){ } @After public void destroy(){ } @Test public void testSaveStudents(){ } 执行顺序 @Before --> @Test --> @After
    查看全部
  • 创建完数据持久类(实体类)后需要新建对象关系映射文件: 新建对象关系映射文件Student.hbm.xml New -> other - > Hibernate -> Hibernate XML Mapping file (hbm.xml) 选择需要映射的刚创建的实体类,会将创建的字段和数据库字段进行映射。 创建完对象关系映射文件后 需要在cfg.xml中配置文件声明:如<mapping resource="Student.hbm.xml" ></mapping> 配置后将在初始化 Hibernate 环境时将装载User.xml 映射信息。
    查看全部
  • hibernate配置文档: <property name="connection.username">root</property> <property name="connection.password">root</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>
    查看全部
  • ecliplse Hibernate 插件 Hibernate Tools
    查看全部
  • 获得session对象的方法
    查看全部
  • transaction简介1
    查看全部
    0 采集 收起 来源:transaction简介

    2017-04-02

举报

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

微信扫码,参与3人拼团

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

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