hibernate 查询
hibernate操作的是对象 orm对象关系模型
1.查询一
/** * select street.sname,street.sid from Street as street * 查询得到的是一个 Object[] */ /*List
2. 模糊查询
String hql = "from Street as street where street.sname like ?";//占位符 Listlist = session.createQuery(hql).setString(0, "%海%").list();
3.参数查询
String hql = "from Street as street where street.sid>3"; Listlist = session.createQuery(hql).list();
4.对象关联查询
String hql = "select provinces from Street street,Provinces provinces where street.provinces=provinces and street.sname='山路'"; Listlist = session.createQuery(hql).list();
5.分页查询
String hql = "from Street"; Query query = session.createQuery(hql); query.setFirstResult(0);//开始 query.setMaxResults(3);//页面大小 Listlist = query.list();
6.函数统计
String hql = "select count(street) from Street as street"; Query query = session.createQuery(hql);
7.排序查询
String hql = "select street from Street as street order by street.sid"; Query query = session.createQuery(hql); Listlist = query.list();
8.对象查询
Criteria c = session.createCriteria(Street.class); if(null !=street){ if(null!=street.getSname()){ c.add(Restrictions.like("sname", street.getSname(),MatchMode.ANYWHERE));//模糊查询。查询 sname 中像 street.getSname()的 } if(0!=street.getSid()){ c.add(Restrictions.ge("sid",street.getSid()));//street.getSid()大于等于sid } // if(0!=street.getSid()){ // c.add(Restrictions.le("sid",street.getSid()));//street.getSid()小于等于sid // } } c.addOrder(Order.asc("sid"));//可以增加多个排序规则 // c.addOrder(Order.desc("sid"));//可以增加多个排序规则 hUtil.sessionClose(session); return c.list();
9.查询
Street street = (Street)session.get(Street.class, sid);
10.添加
Provinces provinces = new Provinces(); provinces.setPid(pid); provinces.setPname(pname); session.save(provinces);
11.更新
street = (Street)session.load(Street.class, sid); street.setSname(sname); session.update(street);
12.删除
Street street = (Street)session.get(Street.class, id); session.delete(street);