hibernate入门

  1. 什么是hibernate
    ORM框架/持久层框架
    object reference mapping
    通过管理对象来改变数据库中的数据
    通过管理对象来操作数据库
    mybatis

    new person()

    dao dao
    jdbc hibernate
    jdbc

    优势:跨数据库的无缝移植

    注1:Object Relational Mapping

  2. 如何在项目中添加hibernate支持(手动添加)
    2.1 添加hibernate相关依赖
    2.2 在resource目录下添加hibernate.cfg.xml(核心配置文件)
    2.2.1 添加DTD支持
    2.2.2 添加Hibernate的配置
    2.2.2.1 数据库相关(connection.username|connection.password|connection.url|connection.driver_class|dialect)
    2.2.2.2 调试相关(show_sql|format_sql)
    2.3 在开发阶段再创建实体类和实体映射文件(*.hbm.xml)
    实体必须实现Serializable接口

小结:hibernate.cfg.xml(1)/*.hbm.xml(N)
实体映射文件一定要加到核心配置文件

  1. hibernate核心API讲解
    3.1 Configuration
    读取hibernate.cfg.xml

3.2 SessionFactory(1)

3.3 Session(N)
注1:
注2:
3.3.1 save
3.3.2 get(不讲load方法,在hibernate对象状态时再讲)
load
3.3.3 delete(先查再删除,保证程序的健壮性)
User u = (User) session.get(User.class,99);
if(null!=u){
session.delete(u);//比如id=99不存在,直接删除就会报错
}
3.3.4 update
先查再改
局部修改

3.4 Transaction(自动事务和手动事务讲解)
commit/rollback

3.5 Query(hql一章讲)
查全部/批量修改或删除
list
setXxx(String name,Xxx value);
setParameter(String name, Object value)
setParameterList(String name, Collection values)
setParameterList(String name, Object[] values)
setFirstResult/setMaxResults

  1. 如何使用hibernate完成CRUD操作
    4.1 CRUD操作步骤
    4.1.1 读取配置
    4.1.2 创建SessionFactory
    4.1.3 打开Session
    4.1.4 开启事务
    4.1.5 CURD
    4.1.6 提交事务/回滚事务
    4.1.7 关闭Session
    4.2 注意事项
    4.2.1 hibernate默认使用的是手动事务,因此必须显示的开启和提交事务
    4.2.2 删除操作时,必须先查再删

  2. 工具类SessionFactoryUtil

  3. OID属性
    与数据库主键列映射的属性
    java的案例
    public class demo1 {
    public static void main(String[] args) {
    Configuration cfg=new Configuration().configure(“hibernate.cfg.xml”);
    SessionFactory sessionFactory = cfg.buildSessionFactory();
    Session session=sessionFactory.openSession();
    Transaction transaction=session.beginTransaction();

     	User user=new User();
     	user.setUserName("aa");
     	user.setRealName("ss");
     	user.setUserPwd("132");
     	user.setSex("男");
     	session.save(user);//增加
     	session.delete(user);//删除   必须有id
     	session.update(user)//修改   同上
     	session.get(user.calss,  11);//第1个参数为实体类的.class  第2个位数据库表中的主键		
     	
     	transaction.commit();
     	session.close();
     	}
    

}

*.cfg.cml

配置数据库文件
配置本地事物
打印sql语句
映射配置文件

*.hbm.xml

读取映射文件
建模获取factory
获取会话
开启事物
操作数据
提交事物
关闭

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值