package test;
import entity.Commodity;
import entity.Customer;
import entity.Seller;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import util.HibernateUtil;
import java.util.List;
import java.util.Map;
/**
* Created by raid on 2016/5/15.
*/
public class SellerLogic {
private Session session = null;
private Transaction transaction = null;
public SellerLogic() {
session = HibernateUtil.getSession();
transaction = session.beginTransaction();
}
/**
* 查询所有
*/
public void testSeller() {
String hql = " from Seller";
Query query = session.createQuery(hql);
List<Seller> sellers = query.list();
for (Seller seller : sellers) {
System.out.println(seller);
}
transaction.commit();
}
/**
* 使用别名
*/
public void testSelectClauseObjectArray() {
String hql = " select s.name,s.tel,s.address,s.star from Seller s ";
Query query = session.createQuery(hql);
List<Object[]> list = query.list();
for (Object[] objs : list) {
System.out.println("name:" + objs[0]);
System.out.println("tel:" + objs[1]);
System.out.println("address:" + objs[2]);
System.out.println("star:" + objs[3]);
}
}
/**
* 查询记录使用List来包装
*/
public void testSelectClauseList() {
String hql = "select new list(s.name,s.tel,s.address) from Seller s ";
Query query = session.createQuery(hql);
List<List> lists = query.list();
for (List list : lists) {
System.out.println("name : " + list.get(0));
System.out.println("tel : " + list.get(1));
System.out.println("address : " + list.get(2));
}
transaction.commit();
}
/**
* 查询记录使用map来表示
*/
public void testSelectClauseMap() {
String hql = "select new map(s.name as name,s.tel as tel,s.address as address) from Seller s ";
Query query = session.createQuery(hql);
List<Map<String, Object>> maps = query.list();
for (Map<String, Object> map : maps) {
System.out.println("name:" + map.get("name"));
System.out.println("tel:" + map.get("tel"));
System.out.println("address:" + map.get("address"));
}
}
/**
* 查询记录使用本身对象来表示,这里要注意的是对象必须有这样的构造方法
*/
public void testSelectClauseSelf() {
String hql = "select new Seller(s.name,s.tel,s.address) from Seller s ";
Query query = session.createQuery(hql);
List<Seller> sellers = query.list();
for (Seller seller : sellers) {
System.out.println("name:" + seller.getName());
System.out.println("tel:" + seller.getTel());
System.out.println("address:" + seller.getAddress());
}
}
/**
* 查询独一无二
*/
public void testDistinct() {
String hql = "select distinct c.sex from Customer c";
Query query = session.createQuery(hql);
List<Object> list = query.list();
for (Object obj : list) {
System.out.println(obj);
}
}
/**
* 条件查询
*/
public void testWhere1() {
String hql = " from Commodity c where c.price>400";
Query query = session.createQuery(hql);
List<Commodity> commodities = query.list();
for (Commodity c : commodities) {
System.out.println("name:" + c.getName());
System.out.println("price:" + c.getPrice());
}
}
/**
* 条件查询
*/
public void testWhere2() {
String hql = " from Commodity c where c.description <> null "; //<> 为不是null,如果是is那么就是null
Query query = session.createQuery(hql);
List<Commodity> commodities = query.list();
for (Commodity c : commodities) {
System.out.println("name:" + c.getName());
System.out.println("description:" + c.getDescription());
}
}
public void testWhere3() {
String hql = " from Customer c where c.age not in(20,40)"; //in表示在范围内,not in表示不在范围内
Query query = session.createQuery(hql);
List<Customer> customers = query.list();
for (Customer customer : customers) {
System.out.println("name:" + customer.getName());
System.out.println("age:" + customer.getAge());
}
}
/**
* 条件查询
*/
public void testWhere4() {
String hql = " from Customer c where c.age not between 20 and 40";
Query query = session.createQuery(hql);
List<Customer> customers = query.list();
for (Customer customer : customers) {
System.out.println("name:" + customer.getName());
System.out.println("age:" + customer.getAge());
}
}
/**
* 模糊查询
*/
public void testWhere5() {
String hql = " from Customer c where c.name like '张_'";
Query query = session.createQuery(hql);
List<Customer> customers = query.list();
for (Customer customer : customers) {
System.out.println("name:" + customer.getName());
System.out.println("age:" + customer.getAge());
}
}
/**
* 查询一条记录
*/
public void testWhere6() {
String hql = " from Customer c where c.name = '张三'";
Query query = session.createQuery(hql);
Customer c = (Customer) query.uniqueResult();
System.out.println(c.getName());
}
}
hibernate中HQL语句
最新推荐文章于 2018-12-26 17:21:30 发布