版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qwl755/article/details/84793270
目录
1.指定别名
/**
* 指定别名
*/
@Test
public void aliadTest(){
Configuration config=new Configuration().configure();
SessionFactory sf=config.buildSessionFactory();
Session session=sf.openSession();
Transaction t=session.beginTransaction();
//编写HQL
String hql="from Customer as c where c.name='李四'";
//创建一个Query对象
Query query=session.createQuery(hql);
List<Customer>cs=query.list();
//遍历查询结果
for (Customer c:cs){
System.out.println(c);
}
t.commit();
session.close();
sf.close();
}
2.投影查询
/**
* 投影查询
*
*/
@Test
public void portionQueryTest(){
Configuration config=new Configuration().configure();
SessionFactory sf=config.buildSessionFactory();
Session session=sf.openSession();
Transaction t=session.beginTransaction();
//编写HQL
String hql="select c.id,c.name from Customer as c";
//创建一个Query对象
Query query=session.createQuery(hql);
List<Object[]>list=query.list();
Iterator iter=list.iterator();
//遍历查询结果
while(iter.hasNext()){
Object[] obj=(Object[])iter.next();
System.out.println(obj[0]+" "+obj[1]);
}
t.commit();
session.close();
sf.close();
}
3.动态实例查询
/**
* 动态实例查询
*
*/
@Test
public void dynamicQueryTest(){
Configuration config=new Configuration().configure();
SessionFactory sf=config.buildSessionFactory();
Session session=sf.openSession();
Transaction t=session.beginTransaction();
//编写HQL
String hql="select new Customer(c.id,c.name)from Customer as c";
//创建一个Query对象
Query query=session.createQuery(hql);
List<Customer>cs=query.list();
//遍历查询结果
for (Customer c:cs){
System.out.println(c);
}
t.commit();
session.close();
sf.close();
}
4.条件查询--按参数位置查询
/**
* 条件查询--按参数位置查询
*/
@Test
public void paramQueryTest1(){
Configuration config=new Configuration().configure();
SessionFactory sf=config.buildSessionFactory();
Session session=sf.openSession();
Transaction t=session.beginTransaction();
//编写HQL
String hql="from Customer where name like ?";
//创建一个Query对象
Query query=session.createQuery(hql);
query.setString(0, "%三%");
List<Customer>cs=query.list();
//遍历查询结果
for (Customer c:cs){
System.out.println(c);
}
t.commit();
session.close();
sf.close();
}
5.条件查询--按参数名字查询
/**
* 条件查询--按参数名字查询
*/
@Test
public void paramQueryTest2(){
Configuration config=new Configuration().configure();
SessionFactory sf=config.buildSessionFactory();
Session session=sf.openSession();
Transaction t=session.beginTransaction();
//编写HQL
String hql="from Customer where id=:id";
//创建一个Query对象
Query query=session.createQuery(hql);
query.setParameter("id", 1);
List<Customer>cs=query.list();
//遍历查询结果
for (Customer c:cs){
System.out.println(c);
}
t.commit();
session.close();
sf.close();
}
6.分页查询
/**
* 分页查询
*/
@Test
public void queryPageTest(){
Configuration config=new Configuration().configure();
SessionFactory sf=config.buildSessionFactory();
Session session=sf.openSession();
Transaction t=session.beginTransaction();
//编写HQL
String hql="from Customer";
//创建一个Query对象
Query query=session.createQuery(hql);
query.setFirstResult(2);
query.setMaxResults(5);
List<Customer>cs=query.list();
//遍历查询结果
for (Customer c:cs){
System.out.println(c);
}
t.commit();
session.close();
sf.close();
}