private static SessionFactory sf;
static {
// 加载主配置文件, 并创建Session的工厂
sf = new Configuration().configure().addClass(Employee.class).buildSessionFactory();
}
/*
* HQL查询:
* HQL查询与SQL查询区别
* SQL:查询表以及字段,不区分大小写
* HQL:hibernate Query language 即hiberna提供的面向对象的查询语言
* 查询的是对象以及对象的属性,区分大小写
* */
@Test
public void testHQL() throws Exception{
Session session = sf.openSession();
Transaction tx = session.beginTransaction();
//主键查询
Employee employee = (Employee) session.get(Employee.class, 1);
//HQL查询,查询全部
Query query = session.createQuery("from Employee where empId=1 or empId=2");
List<Employee> list = query.list();
tx.commit();
session.close();
sf.close();
}
/*
* QBC查询 query by criteria 完全面向对象的查询
* */
@Test
public void testQBC() throws Exception{
Session session = sf.openSession();
Transaction tx = session.beginTransaction();
Criteria criteria = session.createCriteria(Employee.class);
//条件
criteria.add(Restrictions.eq("empId", 1));
List<Employee> list = criteria.list();
System.out.println("testQBC():"+list);
//查询全部
criteria.list();
tx.commit();
session.close();
sf.close();
}
/*
SQL: (结构化查询语句)查询的是表以及字段; 不区分大小写。
*/
@Test
public void testSQL() throws Exception{
Session session = sf.openSession();
Transaction tx = session.beginTransaction();
//把每一行记录封装为对象数据数组,在添加到list集合
//SQLQuery sqlQuery = session.createSQLQuery("select * from employee");
//把每一行记录封装为1指定的对象类型
SQLQuery sqlQuery = session.createSQLQuery("select * from employee").addEntity(Employee.class);
List list = sqlQuery.list();
System.out.println("testSQL():"+list);
tx.commit();
session.close();
sf.close();
}
hibernate查询方式
猜你喜欢
转载自blog.csdn.net/qq_38341596/article/details/80651670
今日推荐
周排行