zoukankan      html  css  js  c++  java
  • 实体类操作 和 实体类对象状态

    对实体类crud操作:

      1、添加操作

       调用 session 里面的save 方法实现
    //添加功能 User user=new User(); user.setUsername("阿旭"); user.setPassword("521333"); user.setAddress("卡卡市"); //调用session的方法添加 session.save(user);

         2、根据 id 查询

            //、根据id 查询
          调用 session里面的get 方法
          第一个参数:实体类的class
          第二个参数:id 值
    User user = session.get(User.class, 1); System.out.println(user)

       3 、修改操作

            //4、修改 id=2的人的username="东方不败"
            //根据 id=2 查询
            User user = session.get(User.class,2);
            //向返回的uer 对象中设置 username
            user.setUsername("东方不哈");
            //调用 session方法 update修改
            //执行过程,到 user对象中查询到 id值,根据 id值进行修改
            session.update(user);
    hibernate底层的实现源码:::
    Hibernate: select user0_.id as id1_0_0_, user0_.username as username2_0_0_, user0_.password as password3_0_0_, user0_.address as address4_0_0_ from t_user user0_ where user0_.id=? Hibernate: update t_user set username=?, password=?, address=? where id=?

       4、删除操作

        4.1 调用 session里面的delete 方法实现

            Hibernate 实现原理:根据 User 的id查询到对象,然后删除操作

            删除操作
                //第一种方式 根据 id 查询对象
            User user = session.get(User.class,1);
            session.delete(user);
                //第二种方式 
            User user=new User();
            user.setId(2);
            session.delete(user);

    演示操作实体类对象的方法:

      1 saveOrUpdate 方法:实现添加、实现修改(根据对象状态不同执行操作不同)

      1、
    User u=new User(); u.setUsername("卡卡"); u.setPassword("45679"); u.setAddress("北京市"); //如果实体类是瞬时态,就执行添加操作 session.saveOrUpdate(u);
      2、
            User u=new User();
            u.setId(3);
            u.setUsername("tianshi");
            u.setPassword("45679");
            u.setAddress("天津市");
            //如果实体类是托管态,就做修改操作
            session.saveOrUpdate(u);
      3、
          User u=session.get(User.class,3);
          u.setUsername("那卡");
          //实体类对象状态是持久态,做修改操作  
          session.saveOrUpdate(u);

    实体类对象状态(概念)

      1、实体类状态有三种

        1.1 瞬时态:对象里面没有 id值,对象与session 没有关联

        User u=new User()
        u.setUsername("jack");
        u.setPassword("123");
        u.setAddress("china");

        1.2 持久态:对象里面有 id值,对象与 session关联

            User user = session.get(User.class,2);

        1.3 托管态:对象有 id值,对象与 session没有关系

        User u=new User()
        u.setid(2);
  • 相关阅读:
    河南省第十届ACM省赛G:Plumbing the depth of lake
    南洋理工oj 题目92 图像有用区域
    初学欧拉图,知识总结,后续增加
    初学并查集知识总结后续增加
    南阳oj 题目42 一笔画问题
    南阳oj 题目 90 整数划分
    南阳oj题目20吝啬的国度 菜鸟的进阶之路
    南阳oj 题目21 三个水杯
    UVA-540 Team Queue
    HDU-1596 find the safest road
  • 原文地址:https://www.cnblogs.com/axu521/p/10201694.html
Copyright © 2011-2022 走看看