Hibernate4详解(九)

2014-11-24 10:41:08 · 作者: · 浏览: 9
age org.springfuncs.qbe;

import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.Example;
import org.junit.Test;
import org.springfuncs.domain.Emp;
import org.springfuncs.util.HibernateUtil;

public class TestQBE {

/** QBE查询 适合条件检索 */
@Test
public void test_qbe() {
Emp emp = new Emp();
emp.setDeptno(10);
emp.setJob("MANAGER");

SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
Session session = sessionFactory.openSession();
Criteria criteria = session.createCriteria(Emp.class);
criteria.add(Example.create(emp));// 注意
List list = criteria.list();
show(list);
session.close();
}

// 遍历集合
private void show(List list) {
for (Emp emp : list) {
System.out.println(emp);
}
}
}

Native SQL

Java代码
package org.springfuncs.sql;

import java.util.List;

import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.transform.Transformers;
import org.hibernate.type.StandardBasicTypes;
import org.junit.Test;
import org.springfuncs.domain.Emp;
import org.springfuncs.util.HibernateUtil;

public class TestSql {

/** 查询全部 */
@Test
public void test_sql1() {
SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
Session session = sessionFactory.openSession();
String sql = "select * from emp";
SQLQuery query = session.createSQLQuery(sql);
List list = query.list();
for (Object[] arr : list) {
System.out.println(arr[0] + "\t" + arr[1] + "\t" + arr[2] + "\t" + arr[3] + "\t" + arr[4] + "\t" + arr[5] + "\t" + arr[6] + "\t" + arr[7]);
}
session.close();
}

/** 查询全部 */
@Test
public void test_sql2() {
SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
Session session = sessionFactory.openSession();
String sql = "select * from emp";
SQLQuery query = session.createSQLQuery(sql);
query.addScalar("empno", StandardBasicTypes.INTEGER);
query.addScalar("ename", StandardBasicTypes.STRING);
query.addScalar("job", StandardBasicTypes.STRING);
query.addScalar("mgr", StandardBasicTypes.INTEGER);
query.addScalar("hiredate", StandardBasicTypes.DATE);
query.addScalar("sal", StandardBasicTypes.DOUBLE);
query.addScalar("comm", StandardBasicTypes.DOUBLE);
query.addScalar("deptno", StandardBasicTypes.INTEGER);
List list = query.list();
for (Object[] arr : list) {
System.out.println(arr[0] + "\t" + arr[1] + "\t" + arr[2] + "\t" + arr[3] + "\t" + arr[4] + "\t" + arr[5] + "\t" + arr[6] + "\t" + arr[7]);
}
session.close();
}

/** 查询全部 */
@Test
public void test_sql3() {
SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
Session session = sessionFactory.openSession();
String sql = "select * from emp";
SQLQuery query = session.cre