zoukankan      html  css  js  c++  java
  • 持久化与Session定义


    什么是Session
    Hibernate中Session 是Hibernate中的缓存对象 用此session操作数据库后会缓存返回的结果在session里面 当你再次操作数据库的时候 如果session缓存里面有相应的值 则不用去与数据库交互直接返回结果

    servlet 中的Session 也是缓存 其缓存你与服务器对话时候的一些信息

    总之所有的session基本都是起缓存作用的 就是把一些信息缓存在内存中 方便存取值

    但是不同的session是不能相互直接赋值的 因为是两个不同的概念 只是名字一样

    名字一样也是为了帮助程序员理解 学了servlet的session 后再遇到session也就应该是缓存作用的
    不知道我的回答你满意不

    Hibernate中Session 是Hibernate中的缓存对象 用此session操作数据库后会缓存返回的结果在session里面 当你再次操作数据库的时候 如果session缓存里面有相应的值 则不用去与数据库交互直接返回结果

    servlet 中的Session 也是缓存 其缓存你与服务器对话时候的一些信息

    总之所有的session基本都是起缓存作用的 就是把一些信息缓存在内存中 方便存取值

    但是不同的session是不能相互直接赋值的 因为是两个不同的概念 只是名字一样

    名字一样也是为了帮助程序员理解 学了servlet的session 后再遇到session也就应该是缓存作用的


    持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的对象存储在关系型的数据库中,当然也可以存储在磁盘文件中、XML数据文件中等等。

    关键就是内存的数据会丢失,所以我们要把它保存在存储设备中,以便下次需要的时候可以再把数据取出来


    什么是持久化对象

    持久化对象(Persistence Object - PO)

    任务:添加员工信息,员工字段比较多。

    方法1:每个员工字段作为方法的一个参数
    //DAO层
    public class EmployeeDao{
    ...
    public void addEmployee(Integer id, String name, String gender, Integer age){
    //具体实现
    }
    ...
    }

    //业务层
    dao.addEmployee(1,"托尼","男",23);

    缺点:如果增加一个字段,此方法的参数列表需要改变,也就是调用addEmployee()方法都需要改变。

    方法2:不应该使用方法多个参数方式,而应该将字段都封装成一个对象,再传递。

    //PO
    public class Employee {
    private Integer id;
    private String name;
    private String gender;
    private Integer age;
    //get/set method followed in the below
    }

    //DAO层
    public class EmployeeDao{
    ...
    public void addEmployee(Employee emp){
    //具体实现
    }
    ...
    }

    //业务层
    Employee emp=new Employee();
    emp.setId(1);
    emp.setGender("男");
    emp.setName("托尼");
    emp.setAge(23);
    dao.addEmployee(emp);

    改进:如果增加一个字段,addEmployee()方法的参数并不需要改变,所有调用addEmployee()方法的地方都不需要改变。

    PO小结:
    此示例中的Employee类专门用于存放向数据库中的数据,保存表示将数据“持久化”,即Employee的对象是持久化对象,英文:Persistence Object,简称PO,PO不带任何业务逻辑

  • 相关阅读:
    Java基本开发环境搭建(适合第一次使用)
    在oracle中通过链接服务器(dblink)访问sql server
    C# 鼠标悬停在datagridview的某单元格,显示悬浮框效果
    经典SQL语句大全
    程序员为何要写技术博客?
    收缩SQL数据库日志
    利用脚本设置本机IP地址
    在SQL Server 2005中连接Oracle,完成查询、插入操作
    Centos 7 下 Corosync + Pacemaker + psc + HA-proxy 实现业务高可用
    Centos 7 下 Corosync + Pacemaker + psc 实现 httpd 服务高可用
  • 原文地址:https://www.cnblogs.com/mengyan/p/2717837.html
Copyright © 2011-2022 走看看