对实体类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);
好好学习,天天向上。
努力工作,给自己的和家人一个满意的答案。。。。