hibernate入门

  1. 什么是hibernate:
    Hibernate是一个持久层的ORM框架。

  2. 什么是框架:
    指的是软件的半成品,已经完成了部分功能。

  3. 什么是ORM:
    Object Relational Mapping(对象关系映射)。指的是将一个Java中的对象与关系型数据库中的表建立一种映射关系,从而操作对象就可以操作数据库中的表。

  4. hibernate的优点:
    在这里插入图片描述

  5. 下载地址:
    https://sourceforge.net/projects/hibernate/files/hibernate-orm/5.0.7.Final/

  6. 解压后内容:
    documentation:hibernate开发的文档
    lib:hibernate开发包,其中required是开发的必须依赖包,optional是开发的可选依赖包。
    project:hibernate提供的项目。

  7. 创建映射:
    实体类创建后不具备持久化的功能,而hibernate需要知道实体类映射到数据库中的那个表,以及类中的哪个属性对应数据库表中的哪个字段,这些都需要在映射文件中配置。映射需要通过XML的配置文件来完成,这个配置文件可以任意命名。尽量统一命名规范(类名.hbm.xml)。

  8. 创建一个hibernate的核心配置文件:
    Hibernate的核心配置文件的名称:hibernate.cfg.xml。hibernate的配置文件主要用来配置数据库连接以及hibernate运行时所需要的各个属性的值。

  9. 映射文件配置细节:
    <1> class标签的配置:
    标签用来建立类与表的映射关系。
    属性:
    name:类的全路径。
    table:类名(类名与表名一致,table可以省略)
    catalog:数据库名
    <2>id标签的配置:
    标签用来建立类中的属性与表中的主键的对应关系。
    属性:
    name:类中的属性名
    column:表中的字段名(如果类中的属性名与表中的字段名如果一致,column可以省略)
    length:长度
    type:类型
    <3>property标签的配置:
    标签用来建立类中的普通属性与表中的字段的对应关系。
    属性:
    name:类中的属性名
    column:表中的字段名
    length:长度
    type:类型
    not-null:设置非空
    unique:设置唯一

  10. hibernate的核心配置:
    方式一:属性文件的方式(不推荐):
    hibernate.properties
    缺点:属性文件的方式不能引入映射文件(手动编写代码加载映射文件)
    方式二:XML文件的方式:
    hibernate.cfg.xml

  11. 核心的配置:
    必须的配置:
    连接数据库的基本参数:
    驱动类
    url路径
    用户名
    密码
    可选的配置:
    显示SQL :hibernate.show_sql
    格式化SQL :hibernate.format_sql
    自动建表 :hibernate.hbm2ddl.auto,参数需要注意的有两个,一是update:如果数据库中有表,使用原有表,如果没有表,创建新表(更新表结构),二是validate:如果没有表,不会创建表。只会使用数据库中原有的表。(校验映射和表结构)。
    引入映射文件的位置:
    < maping resource=“映射文件的全路径名”/>

  12. hibenate的核心API:
    Configuration:Hibernate的配置对象:
    作用一:加载核心配置文件:
    Configuration cfg = new Configuration().configure();
    作用二:加载映射文件。
    SessionFactory:Session工厂
    SessionFactory内部维护了Hibernate的连接池和Hibernate的二级缓存。是线程安全的对象。一个项目创建一个对象即可。
    Session:类似Connection对象是连接对象:
    Session代表的是Hibernate与数据库的链接对象。不是线程安全的。与数据库交互桥梁。
    session中的API:
    <1> 保存方法:Serializable save(Object obj);
    <2>查询方法:T get(Class c,Serializable id);T load(Class c,Serializable id);

    get方法和load方法的区别
    <3>修改方法:
    void update(Object obj);
    <4>删除方法:
    void delete(Object obj);
    <5>保存或更新:
    void saveOrUpdate(Object obj)

  13. Transaction:事务对象:
    commit();
    rollback();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值