学习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);

 

posted on 2018-12-31 11:42  axu521  阅读(778)  评论(0编辑  收藏  举报

<