HQL查询所有
@Test
public void testSelectHQL01(){
Session session = null;
Transaction transaction = null;
try {
session = HibernateUtils.getSessionObject();
transaction = session.beginTransaction();
Query query = session.createQuery("from Customer");
List<Customer> list = query.list();
for (Customer customer : list) {
System.out.println(customer.toString());
}
transaction.commit();
} catch (Exception e) {
e.printStackTrace();
transaction.rollback();
} finally {
session.close();
}
}
HQL条件查询
@Test
public void testSelectHQL02(){
Session session = null;
Transaction transaction = null;
try {
session = HibernateUtils.getSessionObject();
transaction = session.beginTransaction();
Query query = session.createQuery("from Customer where cid=? and custName=?");
query.setParameter(0, 2);
query.setParameter(1, "二点连线");
List<Customer> list = query.list();
for (Customer customer : list) {
System.out.println(customer.toString());
}
transaction.commit();
} catch (Exception e) {
e.printStackTrace();
transaction.rollback();
} finally {
session.close();
}
}
HQL模糊查询
@Test
public void testSelectHQL03(){
Session session = null;
Transaction transaction = null;
try {
session = HibernateUtils.getSessionObject();
transaction = session.beginTransaction();
Query query = session.createQuery("from Customer where custName like ?");
query.setParameter(0, "%点%");
List<Customer> list = query.list();
for (Customer customer : list) {
System.out.println(customer.toString());
}
transaction.commit();
} catch (Exception e) {
e.printStackTrace();
transaction.rollback();
} finally {
session.close();
}
}
HQL排序查询
@Test
public void testSelectHQL04(){
Session session = null;
Transaction transaction = null;
try {
session = HibernateUtils.getSessionObject();
transaction = session.beginTransaction();
Query query = session.createQuery("from Customer order by cid asc");
List<Customer> list = query.list();
for (Customer customer : list) {
System.out.println(customer.toString());
}
transaction.commit();
} catch (Exception e) {
e.printStackTrace();
transaction.rollback();
} finally {
session.close();
}
}
HQL分页查询
@Test
public void testSelectHQL05(){
Session session = null;
Transaction transaction = null;
try {
session = HibernateUtils.getSessionObject();
transaction = session.beginTransaction();
Query query = session.createQuery("from Customer");
query.setFirstResult(0);
query.setMaxResults(3);
List<Customer> list = query.list();
for (Customer customer : list) {
System.out.println("cid = " + customer.getCid() + " custName = " + customer.getCustName());
}
transaction.commit();
} catch (Exception e) {
e.printStackTrace();
transaction.rollback();
} finally {
session.close();
}
}
HQL投影查询(查询表中某一字段的所有值)
@Test
public void testSelectHQL06(){
Session session = null;
Transaction transaction = null;
try {
session = HibernateUtils.getSessionObject();
transaction = session.beginTransaction();
Query query = session.createQuery("select custName,custLevel from Customer");
List<Object> list = query.list();
for (Object object : list) {
System.out.println("custName = " + object);
}
transaction.commit();
} catch (Exception e) {
e.printStackTrace();
transaction.rollback();
} finally {
session.close();
}
}
HQL聚集函数
@Test
public void testSelectHQL07(){
Session session = null;
Transaction transaction = null;
try {
session = HibernateUtils.getSessionObject();
transaction = session.beginTransaction();
Query query = session.createQuery("select count(*) from Customer");
Object object = query.uniqueResult();
Long count = (Long)object;
int a = count.intValue();
System.out.println("object = " + a);
transaction.commit();
} catch (Exception e) {
e.printStackTrace();
transaction.rollback();
} finally {
session.close();
}
}