在不hibernate中的查询方式!

疯狂的小笨 2013-01-27
其中不是有五种查询方式么,,各自怎么写啊,求教!
307813859 2013-02-02
1.hql查询:
//from后面是对象,不是表名
   String hql="from Admin as admin where admin.aname=:name";//使用命名参数,推荐使用,易读。
   Query query=s.createQuery(hql);
   query.setString("name", name);

2.对象化查询Criteria方法:
Criteria c=s.createCriteria(Admin.class);
   c.add(Restrictions.eq("aname",name));//eq是等于,gt是大于,lt是小于,or是或
   c.add(Restrictions.eq("apassword", password));

3.动态分离查询DetachedCriteria
static List dc(DetachedCriteria dc) {

  Session s = HibernateUtil.getSession();
  Criteria c = dc.getExecutableCriteria(s);
  List rs = c.list();
  s.close();
  return rs;
}


DetachedCriteria dc = DetachedCriteria.forClass(User.class);
  int id = 1;
  if (id != 0)
   dc.add(Restrictions.eq("id", id));
  Date age = new Date();
  if (age != null)
   dc.add(Restrictions.le("birthday", age));
  List users = dc(dc);
  System.out.println("离线查询返回结果:" + users);

4.例子查询
List<User> users = s.createCriteria(User.class).add(
    Example.create(user)).list();

5.sql查询
Query q = s.createSQLQuery("select * from user").addEntity(User.class);
  List<User> rs = q.list();

Global site tag (gtag.js) - Google Analytics