hibernate 学习笔记(part)





1.层和层之间的关系。
   (界面)
   表述层--------->业务逻辑层---------->持久化层--------->数据库层
   
   
2. 软件开发领域,模型用来表示真实世界的实体。 
   软件开发的不同阶段,要为目标系统创建不同的模型:
    ---分析阶段:创建概念模型
    ---设计阶段:创建域模型/数据模型。

3. 实体和实体之间存在3种关系:  


4. 持久化:(狭义)仅仅指把域对象永久保存到数据库中。
     (广义)包括数据库相关的各种操作(save/update/delete/加载/查询)  


5. JDBC访问数据库步骤;
     。DriverManager:驱动程序管理器,创建DB连接
     。Connection:连接数据库

     。Statement/PreparedStatement:执行SQL语句(后者有预编译功能)

     。ResultSet:返回 SQL语句的结果集

  DriverManager--> Connection---->  Statement-----> ResultSet


5. JDBC 编程的缺点

。业务逻辑的代码和数据访问代码写在一起,程序结构不清晰,可读性差;

。在程序代码中嵌入面向关系的SQL语句,使开发人员不能完全使用面向对象的思维编程;

。业务逻辑和关系数据模型绑定,如修改了表结构,相应的SQL语句也要改,难维护;

 。当SQL语句有语法错误时,编译能通过,运行才报错,增加了调试程序难度;

 
6. ORM(object-relationship mapping对象关系映射) 模式:

。在单个组件中负责所有实体域对象的持久化,封装数据访问细节。

。Hibernate是ORM的一个实现   

 。一般情况下,一个持久化类和一个表对应,类的每个实例对应表中的一条记录。

   
 7.    面向对象概念        面向关系概念
        类                 表
     对象               表的行(记录)
     属性               表达列(字段)
 
8. hibernate.cfg.xml 
   hibernate的主配置文件,配置数据库连接等相关信息......


   
9.SessionFactory (唯一的)作用:创建Session。
  。它的线程是安全的。
  。它是重量级的,这意味着它的同一个实例可以被应用的多个线程共享。


10.Session是Hibernate应用使用最广泛的接口。其也被称为持久化管理器。
   特点:。线程不是安全的,设计软件架构是,应避免多个线程共享同一个Session实例。
             。Session实例是轻量级的。
             。此Session非彼Session(HttpSession)

 




OGNL


1.OGNL(Object Graph Navigation Language)对象图导航语言.

2.OgnlContext(上下文对象),存在唯一的叫做根的对象(root),可以通过程序设定上下文中的那个对象作为跟对象。


3.在OGNL中,如果表达式没有使用#号,那么OGNL会从根对象中寻找该属性对应的get方法,如果寻找的不是根对象,那么则需要 #号开头,告诉OGNL,去寻找你所指定的特定对象的属性。


4.对于OGNL来说,数组和集合一样,都是通过下标索引去访问,构造集合时使用{...}形式


5.OGNL处理映射(Map)语法:#{'key1':'value1','key2':'value2','key3':'value3'};访问的时候通过key访问。


6.过滤(filtering): collection.{?expression}


7.OGNL 针对集合提供了一些伪属性(如size,isEmpty)等,让我们可以通过属性的方式来调用方法(本质原因在于集合当中可以有很多方法并不符合JavaBean的命名规则),但我们依然可以通过调用方法来实现与伪属性相同的目的。

 
    
     
 















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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值