hibernate 的CRUD

hibernate 查询

hibernate操作的是对象 orm对象关系模型

1.查询一

Java代码
  1. /** 
  2.  * select street.sname,street.sid from Street as street 
  3.  * 查询得到的是一个 Object[] 
  4.  */  
  5. /*List<Object[]> list = session.createQuery("select street.sname,street.sid from Street as street").list(); 
  6. for (Object[] objects : list) { 
  7. System.out.println(objects[0]+"+"+objects[1]+"+"); 
  8. }*/  
  9. /** 
  10.  *在Street类里面重写了一个构造方法new Street(street.sname,street.sid) 
  11.  * select new Street(street.sname,street.sid) from Street as street 
  12.  * 查询得到的是一个Street对象 
  13.  */  
  14. List<Street> list = session.createQuery("select new Street(street.sname,street.sid) from Street as street").list();  

 2. 模糊查询

Java代码
  1. String hql = "from Street as street where street.sname like ?";//占位符  
  2. List<Street> list = session.createQuery(hql).setString(0"%海%").list();  

 3.参数查询

Java代码
  1. String hql = "from Street as street where street.sid>3";  
  2. List<Street> list = session.createQuery(hql).list();  

 4.对象关联查询

Java代码
  1. String hql = "select provinces from Street street,Provinces provinces where street.provinces=provinces and street.sname='山路'";  
  2. List<Provinces> list = session.createQuery(hql).list();  

 5.分页查询

Java代码
  1. String hql = "from Street";  
  2. Query query = session.createQuery(hql);  
  3. query.setFirstResult(0);//开始  
  4. query.setMaxResults(3);//页面大小  
  5. List<Street> list = query.list();  

 6.函数统计

Java代码
  1. String hql = "select count(street) from Street as street";  
  2. Query query = session.createQuery(hql);  

 7.排序查询

Java代码
  1. String hql = "select street from Street as street order by street.sid";  
  2. Query query = session.createQuery(hql);  
  3. List<Street> list = query.list();  

 8.对象查询

Java代码
  1. Criteria c = session.createCriteria(Street.class);  
  2.     if(null !=street){  
  3.     if(null!=street.getSname()){  
  4.         c.add(Restrictions.like("sname", street.getSname(),MatchMode.ANYWHERE));//模糊查询。查询  sname 中像 street.getSname()的  
  5.     }  
  6.     if(0!=street.getSid()){  
  7.         c.add(Restrictions.ge("sid",street.getSid()));//street.getSid()大于等于sid  
  8.     }  
  9. //  if(0!=street.getSid()){  
  10. //      c.add(Restrictions.le("sid",street.getSid()));//street.getSid()小于等于sid  
  11. //  }  
  12.     }  
  13.                  c.addOrder(Order.asc("sid"));//可以增加多个排序规则  
  14. //  c.addOrder(Order.desc("sid"));//可以增加多个排序规则  
  15.     hUtil.sessionClose(session);  
  16. return c.list();  

 9.查询

Java代码
  1. Street street = (Street)session.get(Street.class, sid);  

 10.添加

Java代码
  1. Provinces provinces = new Provinces();  
  2. provinces.setPid(pid);  
  3. provinces.setPname(pname);  
  4. session.save(provinces);  

 11.更新

Java代码
  1. street = (Street)session.load(Street.class, sid);  
  2. street.setSname(sname);  
  3. session.update(street);  

 12.删除

Java代码
  1. Street street = (Street)session.get(Street.class, id);  
  2. session.delete(street); 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值