list=query.list();
System.out.println("获得结果集");
for (User u : list) {
System.out.println("用户名是:"+u.getUserName());
}
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
}
public static void main(String[] args) {
UserOperDAO dao=new UserOperDAO();
//增加
// User user = new User();
// user.setUserName("范围");
// dao.add(user);
//删除
// User user1=new User();
// //删除时必须给删除对象的主键赋值
// user1.setUserId(2);
// dao.delUser(user1);
//修改
// User user2=new User();
// user2.setUserId(5);
// user2.setUserName("jack");
// dao.updateUser(user2);
//查询
// List
// for (User user : list) {
// System.out.println("用户名称是:"+user.getUserName());
// }
}
延迟加载
| /** * 延迟加载 * */ public void lazyTest(){ Session session=null; try { session=HibernateSessionFactory.getSession(); User user=(User) session.load(User.class, 5); System.out.println("用户id是:"+user.getUserId()); System.out.println("*********************分割线************"); // System.out.println("用户姓名是:"+user.getUserName()); } catch (Exception e) { e.printStackTrace(); }finally{ HibernateSessionFactory.closeSession(); } } |
缓存事例
| /** * 缓存事例 */ public void cachTest(){ //一级缓存 Session session=null; try { session=HibernateSessionFactory.getSession(); // User user=(User) session.load(User.class, 5); // System.out.println("用户id是:"+user.getUserId()); // System.out.println("*********************分割线************"); // System.out.println("用户姓名是:"+user.getUserName()); // //一级缓存和session生命周期一致的缓存 // //clear是将所有的一级缓存中的数据清空掉 // //session.clear(); // // //evict将指定的对象从一级缓存中清除掉 // session.evict(user); // System.out.println("-----------二次查询"); // user=(User) session.load(User.class, 5); // System.out.println("*********************分割线************"); // System.out.println("用户姓名是:"+user.getUserName());
//get和load查询区别?load在查询不到数据时返回ObjectNotFound异常 //get返回空指针异常 //相同点:都支持一级缓存,都是按照id在进行查询动作 // User user=(User) session.get(User.class, 15); // System.out.println(user.getUserName());
User user2=(User) session.load(User.class, 15); System.out.println(user2.getUserName()); } catch (Exception e) { e.printStackTrace(); }finally{ HibernateSessionFactory.closeSession(); } } |
list查询和iterator查询对比
| //list查询和iterator查询对比 private void compListAndIterat() { Session session=null; try { session = HibernateSessionFactory.getSession(); String sql="from User user"; Query query=session.createQuery(sql);
//查询分页方法 //0代表第一条记录的索引号 query.setFirstResult(0); //3表示页大小 query.setMaxResults(3); //iterator方式查询 // Iterator iter= query.iterate(); // while (iter.hasNext()) { // User user = (User) iter.next(); // System.out.println("用户名是:"+user.getUserName()); // }
//list方式查询 List
for(User user:list){ System.out.println("用户名:"+user.getUserName()); }
} catch (Exception e) { e.printStackTrace(); }finally{ HibernateSessionFactory.closeSession(); } } |
二级缓存测试
| /** * 二级缓存 */ public void secondCachTest(){ Session session=null; try { //二级缓存及管理测试 // session=HibernateSessionFactory.getSession(); // User user= (User) session.load(User.class,3); // System.out.println("用户名是:"+user.getUserName()); // session.close(); // // //清空二级缓存中的数据 // SessionFactory sessionFactory=HibernateSessionFactory.getSessionFactory(); // sessionFactory.evict(User.class,3); // // // System. |