Hibernate学习笔记(一)

    刚开始学习SSH框架,平时做的笔记蛮多的,就是比较杂乱无章,现在开始在这上面整理笔记。

   Hibernate

     大学期间时做Java课程设计的时候,那时候没有接触到这些框架,用的是JDBC的方式,写在Servlet里,先在配置文件中添加Servlet,在Servlet中写sql对数据库进行访问,然后将数据传递给JSP。

    <servlet>
        <servlet-name>ExactServlet</servlet-name>
        <servlet-class>org.format.urlpattern.ExactServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>ExactServlet</servlet-name>
        <url-pattern>/exact.do</url-pattern>
    </servlet-mapping>
      进入公司后,发现开发人员都是利用框架解决问题的,好吧,还是自己太懒了,大学期间自己也没好好去接触这些,没办法,只能现在好好学了。

      Java三层结构:

  •  表现层
  •  业务逻辑层
  •  持久层

      ORM机制:

        对象关系映射(Object Relation Mapping),完成对象数据到关系型数据映射的机制称为 对象-关系映射,是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术,简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将Java程序中的对象自动持久化到关系数据库中。

     Hibernate介绍:
       Hibernate是一个基于jdbc的开源的持久化框架,是一个优秀的ORM实现,它很大的简化了dao层编码工作,Hibernate对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。

         Hibernate的配置:

     

        Hibernate的API:
        1、Configuration 配置对象,对应着配置文件
            configure(String)           //读取指定路径的配置文件
            configure()                   //读取默认路径的配置文件
            buildSessionFactory()       //创建SessionFactory
            cfg.addResource("")           //添加映射文件,可以在主配置文件中不导入映射文件,在此添加
            cfg.addClass(User.class)    //加载指定类对应的映射文件(以类名为前缀,后缀为User.hbm.xml的同一个包下的文件),同上

      2、SessionFactory session工厂
            openSession()         //打开一个新的session
            getCurrentSession()   //获取当前的session
            close()         //关闭session

      3、Session
            beginTransaction()        //开始事务
            getTransaction()          //得到当前事务
            close()                   //关闭事务
            save(Object)             //插入对象
            update(Object)            //更新对象
            delete(Object)            //删除对象
            get(Class,id)             //获取指定id的Class类型的对象
            createQuery(String hql)   //创建hql语句,返回query

      4、Transaction
            begin()    //开始
            commit()     //提交
            rollback()   //回滚

      5、Query
            list()           //返回的是list
            uniqueResult()   //返回的是唯一的结果集Object
            ---下面两个可用于分页操作,前者设置从第一个元素开始,后者设置最大返回多少个元素
            setFirstResult(int)
            setMaxResults(int)

  

      Hibernate使用的方法:
      1、hibernate会在当前的路径中搜寻hibernate.cfg.xml文件并将其读取到内存作为后继操作的基础配置
            --Configuration config = new Configuration().configure();
     2、获取SessionFactory(config对象根据当前的配置信息,构造SessionFactory实例)
         --SessionFactory sessionFactory = config.bulidSessionFactory();
     3、获得session
         --Session session = sessionFactory.openSession();
     4、事务
         --Transaction tx = session.beginTransaction();
     5、持久化操作
         --session.save(user);
     6、提交事务
         --tx.commit();
     7、关闭session
         --session.close();

     相关的模板代码

      

    

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值