HQL语法
程序员文章站
2022-04-16 09:25:28
...
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import com.utils.HibernateUtils;
//学习HQL语法
public class HqlDemo {
public static void main(String[] args) {
fun1();
//fun2();
//fun3();
//fun4();
//fun5();
}
//基本语法
public static void fun1(){
Session session = HibernateUtils.openSession();
Transaction tx = session.beginTransaction();
String hql = "from com.pojo.Customer ";//完整写法
String hql2 = "from Customer "; //简单写法
String hql3 = "from java.lang.Object ";
Query query = session.createQuery(hql3);
List list = query.list();
System.out.println(list);
tx.commit();
session.close();
}
//排序
public static void fun2(){
Session session = HibernateUtils.openSession();
Transaction tx = session.beginTransaction();
String hql1 = "from com.pojo.Customer order by cust_id asc";//完整写法
String hql2 = "from com.pojo.Customer order by cust_id desc";//完整写法
Query query = session.createQuery(hql2);
List list = query.list();
System.out.println(list);
tx.commit();
session.close();
}
//条件查询
public static void fun3(){
Session session = HibernateUtils.openSession();
Transaction tx = session.beginTransaction();
String hql1 = "from com.pojo.Customer where cust_id =?";//完整写法
String hql2 = "from com.pojo.Customer where cust_id = :id";//完整写法
Query query = session.createQuery(hql2);
// query.setParameter(0, 2l);
query.setParameter("id", 2l);
List list = query.list();
System.out.println(list);
tx.commit();
session.close();
}
//分页查询
public static void fun4(){
Session session = HibernateUtils.openSession();
Transaction tx = session.beginTransaction();
String hql1 = "from com.pojo.Customer";//完整写法
Query query = session.createQuery(hql1);
//limit ?,?
// (当前页数-1)*每页条数
query.setFirstResult(2);
query.setMaxResults(2);
List list = query.list();
System.out.println(list);
tx.commit();
session.close();
}
//聚合函数查询
public static void fun5(){
Session session = HibernateUtils.openSession();
Transaction tx = session.beginTransaction();
String hql1 = "select count(*) from com.pojo.Customer ";//完整写法
String hql2 = "select sum(cust_id) from com.pojo.Customer";//完整写法
String hql3 = "select avg(cust_id) from com.pojo.Customer";//完整写法
String hql4 = "select max(cust_id) from com.pojo.Customer";//完整写法
String hql5 = "select min(cust_id) from com.pojo.Customer";//完整写法
Query query = session.createQuery(hql5);
Number number = (Number) query.uniqueResult();
System.out.println(number);
tx.commit();
session.close();
}
//投影查询
public static void fun6(){
Session session = HibernateUtils.openSession();
Transaction tx = session.beginTransaction();
String hql1 = "select cust_name from com.pojo.Customer";
String hql2 = "select cust_name,cust_id from com.pojo.Customer";
String hql3 = "select new Customer(cust_id,cust_name) from com.pojo.Customer";
Query query = session.createQuery(hql3);
List list = query.list();
System.out.println(list);
tx.commit();
session.close();
}
}