Hibernate提供的多种查询方式
来源:互联网 发布:淘宝店家开通蚂蚁花呗 编辑:程序博客网 时间:2024/05/17 05:08
注意:每种查询方式又含有多种重载的方法,这里只列出基础的一种。
Hibernate提供了多种查询方式:
- Hibernate查询方式一:get查询
- Hibernate查询方式二:load延迟加载
- Hibernate查询方式三:HQL之createQuery,返回多条数据
- Hibernate查询方式四:createCriteria查询,返回多条数据
- Hibernate查询方式五:HQL之createSQLQuery,根据SQL语句返回数据
package com.ckinghan.test;import java.util.List;import org.hibernate.Criteria;import org.hibernate.Query;import org.hibernate.SQLQuery;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration;import org.hibernate.classic.Session;import org.junit.Test;import com.ckinghan.bean.User;/** * Hibernate提供了多种查询方式 * @author ckinghan */public class HibernateQueryTest { /** * Hibernate查询方式一:get */ @Test public void HibernateGetQuery(){ Configuration configuration = new Configuration().configure(); SessionFactory buildSessionFactory = configuration.buildSessionFactory(); Session currentSession = buildSessionFactory.getCurrentSession(); Transaction transaction = currentSession.beginTransaction(); Object object = currentSession.get(User.class, 1); if(object != null && !"".equals(object)){ User user = (User) object; System.out.println(user); } transaction.commit(); buildSessionFactory.close(); } /** * Hibernate查询方式二:load延迟加载 */ @Test public void hibernateLoadQuery(){ Configuration configuration = new Configuration().configure(); SessionFactory buildSessionFactory = configuration.buildSessionFactory(); Session currentSession = buildSessionFactory.getCurrentSession(); Transaction transaction = currentSession.beginTransaction(); Object load = currentSession.load(User.class, 1); if(load != null && !"".equals(load)){ User user = (User) load; System.out.println(user); } transaction.commit(); buildSessionFactory.close(); } /** * Hibernate查询方式三:HQL之createQuery,返回多条数据 */ @Test public void hibernateHqlQuery(){ Configuration configuration = new Configuration().configure(); SessionFactory buildSessionFactory = configuration.buildSessionFactory(); Session currentSession = buildSessionFactory.getCurrentSession(); Transaction transaction = currentSession.beginTransaction(); //注意:这里传的参数中的User是实体类名 Query createQuery = currentSession.createQuery("from User"); //通过Query类中的list()方法返回list结果集 List<User> users = createQuery.list(); System.out.println(users); transaction.commit(); buildSessionFactory.close(); } /** * Hibernate查询方式四:createCriteria查询,返回多条数据 */ @Test public void hibernateCriteriaQuery(){ Configuration configuration = new Configuration().configure(); SessionFactory buildSessionFactory = configuration.buildSessionFactory(); Session currentSession = buildSessionFactory.getCurrentSession(); Transaction transaction = currentSession.beginTransaction(); //通过实体类,将对应的数据库表中的数据全部返回 Criteria createCriteria = currentSession.createCriteria(User.class); //通过Criteria类提供的list()方法将数据转换为List<User>类型 List<User> list = createCriteria.list(); System.out.println(list); transaction.commit(); buildSessionFactory.close(); } /** * Hibernate查询方式五:HQL之createSQLQuery,根据SQL语句返回数据 */ @Test public void hibernateHqlCreateSqlQuery(){ Configuration configuration = new Configuration().configure(); SessionFactory buildSessionFactory = configuration.buildSessionFactory(); Session currentSession = buildSessionFactory.getCurrentSession(); Transaction transaction = currentSession.beginTransaction(); //传入要查询的SQL语句 SQLQuery query = currentSession.createSQLQuery("select * from user"); //将查询到的数据封装到User实体中 query.addEntity(User.class); //通过Query的list()方法,返回List<User> List<User> list = query.list(); System.out.println(list); transaction.commit(); buildSessionFactory.close(); }}
阅读全文
0 0
- Hibernate提供的多种查询方式
- hibernate多种方式查询
- Hibernate distinct 查询的多种实现方式
- Hibernate distinct 查询的多种实现方式
- Hibernate提供的各种查询方式
- Hibernate 提供的各种查询方式
- SSH框架之Hibernate的多种查询方式概述
- Hibernate关联查询有多种实现方式
- Hibernate的查询方式
- hibernate的查询方式
- hibernate的查询方式
- Hibernate的查询方式
- Hibernate的查询方式
- Hibernate的查询方式
- hibernate的查询方式
- hibernate的查询方式
- hibernate的查询方式
- hibernate的查询方式
- makefile的一点基础使用
- 二叉树的一些问题
- HDU 4005 The war 边-双连通缩点+树形dp
- caffemodel的读取与修改
- SQL注入 -- 概念及其应用
- Hibernate提供的多种查询方式
- Docker 容器使用
- 2017秋招求职历程总结
- 线索二叉树
- java.lang.NoClassDefFoundError:com/sun/tools/javac/code/TypeTags
- 每日学习流水账
- jsp笔记
- 基于等价类的邮箱注册测试用例设计
- CSS@media查询