您的位置:首页 > 产品设计 > UI/UE

hibernate_day02_14_Query对象查询所有记录

2017-11-25 00:36 495 查看
14_Query对象查询所有记录

Query对象

1 使用query对象,不需要写sql语句,但是写hql语句

(1)hql:hibernate query language,hibernate提供查询语言,这个hql语句和普通sql语句很相似

(2)hql和sql语句区别:

- 使用sql操作表和表字段

- 使用hql操作实体类和属性

2 查询所有hql语句:

(1)from 实体类名称

3 Query对象使用

(1)创建Query对象

(2)调用query对象里面的方法得到结果

 

package com.hlg.hibernatetest;

import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.junit.Test;

import com.hlg.entity.User;
import com.hlg.utils.HibernateUtils;

public class HibernateQueryData {

@Test
public void testQuery(){
SessionFactory sessionFactory = null;
Session session = null;
Transaction tx = null;

try{
sessionFactory = HibernateUtils.getSessionFactory();
session = sessionFactory.openSession();
tx = session.beginTransaction();

//1 创建Query对象
Query query = session.createQuery("from User");

List<User> list = query.list();

for(User user:list){
System.out.println(user);
}

//提交事务
tx.commit();

}catch(Exception e){
//回滚事务
tx.rollback();
}finally{
//关闭
session.close();
sessionFactory.close();
}

}
}


Criteria对象

1 使用这个对象查询操作,但是使用这个对象时候,不需要写语句,直接调用方法实现

 

2 实现过程

(1)创建criteria对象

(2)调用对象里面的方法得到结果

@Test
public void testCriteria(){
SessionFactory sessionFactory = null;
Session session = null;
Transaction tx = null;

try{
sessionFactory = HibernateUtils.getSessionFactory();
session = sessionFactory.openSession();
tx = session.beginTransaction();

//1 创建Criteria对象
Criteria criteria = session.createCriteria(User.class);

List<User> list = criteria.list();

for (User user : list) {
System.out.println(user);
}

//提交事务
tx.commit();

}catch(Exception e){
//回滚事务
tx.rollback();
}finally{
//关闭
session.close();
sessionFactory.close();
}

}


16_SQLQuery对象查询所有记录

package com.hlg.hibernatetest;

import java.util.Arrays;
import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.junit.Test;

import com.hlg.entity.User;
import com.hlg.utils.HibernateUtils;

public class HibernateQueryData {

@Test
public void testQuery(){
SessionFactory sessionFactory = null;
Session session = null;
Transaction tx = null;

try{
sessionFactory = HibernateUtils.getSessionFactory();
session = sessionFactory.openSession();
tx = session.beginTransaction();

//1 创建Query对象
Query query = session.createQuery("from User");

List<User> list = query.list();

for(User user:list){
System.out.println(user);
}

//提交事务
tx.commit();

}catch(Exception e){
//回滚事务
tx.rollback();
}finally{
//关闭
session.close();
sessionFactory.close();
}

}

@Test
public void testCriteria(){
SessionFactory sessionFactory = null;
Session session = null;
Transaction tx = null;

try{
sessionFactory = HibernateUtils.getSessionFactory();
session = sessionFactory.openSession();
tx = session.beginTransaction();

//1 创建Criteria对象
Criteria criteria = session.createCriteria(User.class);

List<User> list = criteria.list();

for (User user : list) {
System.out.println(user);
}

//提交事务
tx.commit();

}catch(Exception e){
//回滚事务
tx.rollback();
}finally{
//关闭
session.close();
sessionFactory.close();
}

}

@Test
public void testSQLQuery(){
SessionFactory sessionFactory = null;
Session session = null;
Transaction tx = null;

try{
sessionFactory = HibernateUtils.getSessionFactory();
session = sessionFactory.openSession();
tx = session.beginTransaction();

//1 创建对象
//参数是普通的sql语句
SQLQuery sqlQuery = session.createSQLQuery("select * from t_user");
//返回List集合 ,默认每部分是数组结构
List<Object[]> list = sqlQuery.list();

for (Object[] objects : list) {
//Arrays.toString() 让数组以字符串形式输出
System.out.println(Arrays.toString(objects));
}

//提交事务
tx.commit();

}catch(Exception e){
//回滚事务
tx.rollback();
}finally{
//关闭
session.close();
sessionFactory.close();
}

}
}


返回list中每部分是对象形式

//1 创建对象
//参数是普通的sql语句
SQLQuery sqlQuery = session.createSQLQuery("select * from t_user");
//返回List集合 的每部分是对象形式

sqlQuery.addEntity(User.class);

//
List<User> list =  sqlQuery.list();
for (User user : list) {
System.out.println(user);
}




package com.hlg.hibernatetest;

import java.util.Arrays;
import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.junit.Test;

import com.hlg.entity.User;
import com.hlg.utils.HibernateUtils;

public class HibernateQueryData {

@Test
public void testQuery(){
SessionFactory sessionFactory = null;
Session session = null;
Transaction tx = null;

try{
sessionFactory = HibernateUtils.getSessionFactory();
session = sessionFactory.openSession();
tx = session.beginTransaction();

//1 创建Query对象
Query query = session.createQuery("from User");

List<User> list = query.list();

for(User user:list){
System.out.println(user);
}

//提交事务
tx.commit();

}catch(Exception e){
//回滚事务
tx.rollback();
}finally{
//关闭
session.close();
sessionFactory.close();
}

}

@Test
public void testCriteria(){
SessionFactory sessionFactory = null;
Session session = null;
Transaction tx = null;

try{
sessionFactory = HibernateUtils.getSessionFactory();
session = sessionFactory.openSession();
tx = session.beginTransaction();

//1 创建Criteria对象
Criteria criteria = session.createCriteria(User.class);

List<User> list = criteria.list();

for (User user : list) {
System.out.println(user);
}

//提交事务
tx.commit();

}catch(Exception e){
//回滚事务
tx.rollback();
}finally{
//关闭
session.close();
sessionFactory.close();
}

}

@Test
public void testSQLQuery(){
SessionFactory sessionFactory = null;
Session session = null;
Transaction tx = null;

try{
sessionFactory = HibernateUtils.getSessionFactory();
session = sessionFactory.openSession();
tx = session.beginTransaction();

//1 创建对象
//参数是普通的sql语句
SQLQuery sqlQuery = session.createSQLQuery("select * from t_user");
//返回List集合 的每部分是对象形式

sqlQuery.addEntity(User.class);

//
List<User> list =  sqlQuery.list();
for (User user : list) {
System.out.println(user);
}

//			List<Object[]> list = sqlQuery.list();
//
//			for (Object[] objects : list) {
//				//Arrays.toString() 让数组以字符串形式输出
//				System.out.println(Arrays.toString(objects));
//			}

//提交事务
tx.commit();

}catch(Exception e){
//回滚事务
tx.rollback();
}finally{
//关闭
session.close();
sessionFactory.close();
}

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐