HQL查询语法

  

查询:
public class Dome{
      Session session = HibernaeUitls.openSession();
      Transaction tx = session.beginTransaction();
      //待执行执行sql
    String hql = "from User";
     String hqls = "from cn.it.User"//类路径下
   //排序查询
    String Orderby = "from cn.it.User Order by  u_id asc";
    String Orderby2 = "from cn.it.User Order by  u_id desc";
   //条件查询
    String Wherehql = "from cn.it.User where u_id = ?";
    String wherehql = "from cn.it.User where u_id =:id";
    

      //创建查询对象
      Query query = session.createQuery(hql);
      List list = query.list();
      System.out.println(list);
      //提交事务
       tx.commit();     
      //关闭session
       session.close();
    }
//分页
public void fun4(){
        Session session = HibernateUtils.openSession();
        Transaction tx = session.beginTransaction();
        //----------------------------------------------------
        String hql1 = " from  cn.it.User  ";//完整写法
        
        Query query = session.createQuery(hql1);
        
        //limit ?,?
        // (当前页数-1)*每页条数
        query.setFirstResult(4);
        query.setMaxResults(5);
        
        List list = query.list();
        
        System.out.println(list);
        //----------------------------------------------------
        tx.commit();
        session.close();
        
    }

聚合查询:count,sum ,svg,max,min

public void fun5(){
        Session session = HibernateUtils.openSession();
        Transaction tx = session.beginTransaction();
        //----------------------------------------------------
        String hql1 = " select count(*) from  cn.it.User ";
        String hql2 = " select sum(cust_id) from  cn.it.User  ";
        String hql3 = " select avg(cust_id) from  cn.it.User  ";
        String hql4 = " select max(cust_id) from  cn.it.User  ";
        String hql5 = " select min(cust_id) from  cn.it.User  ";
        
        Query query = session.createQuery(hql5);
        
        Number number  = (Number) query.uniqueResult();
        
        System.out.println(number);
        //----------------------------------------------------
        tx.commit();
        session.close();
        
    }

 

 

投影查询

public void fun6(){
        Session session = HibernateUtils.openSession();
        Transaction tx = session.beginTransaction();
        //----------------------------------------------------//
        String hql1 = " select u_name from  cn.it.User  ";
        String hql2 = " select u_name,u_id from  cn.it.User  ";
        String hql3 = " select new User(u_id,u_name) from  cn.it.User  ";
        
        Query query = session.createQuery(hql3);
        
        List list = query.list();
        
        System.out.println(list);
        
        //----------------------------------------------------//
        tx.commit();
        session.close();
        
    }

 

Criteria查询语法:和HQL一样的也是面向对象的ORM查询

简单查询:
public void fun(){
     Session session = HibernateUtils.openSession();
     Transaction tx = session.beginTransaction();
    //--------------------------------------------------
     User c = session.createCritreria(User.class);
     List <User> list = c.list():
    System.out.println(list);
    //--------------------------------------------------
     tx.commit();
    session.clone();        
}
#条件查询
----------
//---------------------------------------------------------------
Criteria c = session.createCriteria(User.clsss);
//添加
c.add(Restrictions.eq("u_id",32));
List<User> list = c.list();
System.out.println(list);

//---------------------------------------------------------------
tx.commit();
session.close();
#分页
----------
//---------------------------------------------------------------
Criteria c = session.createCriteria(User.clsss);

c.setFirstResult(1);
c.setMaxResult(4);


List<User> list = c.list();
System.out.println(list);

//---------------------------------------------------------------
tx.commit();
session.close();
#排序

//---------------------------------------------------------------
Criteria c = session.createCriteria(User.clsss);

c.addOrder(Order.asc("u_id"));
//c.addOrder(Order.desc("u_id"));


List<User> list = c.list();
System.out.println(list);

//---------------------------------------------------------------
tx.commit();
session.close();
统计

//---------------------------------------------------------------
Criteria c = session.createCriteria(User.clsss);

c.setProjection(Projections.rowCount());


List<User> list = c.list();
System.out.println(list);

//---------------------------------------------------------------
tx.commit();
session.close();

离线Criteria

Public void fun(){
     DetachedCriteria dc = DetachedCriteria.forClass(User.class);
     dc.add(Restrictions.idEq(61));
    //-------------------------------------------------------------   
     Session session = HibernateUtils.openSession();
     Transaction tx = session.beginTransaction();
     //-----------------------------------------------------------
     Criteria c = dc.getExecutableCriteria(session);   
     List list = c.list();
     System.out.println(list);
 
    //-------------------------------------------------------------
     tx.commit();
     session.close();
}        
收藏 打印