本文展示三种在Hibernate中使用SQL语句进行数据查询基本用法

  1、基本查询

  2、条件查询

  3、分页查询

package com.Gary.dao;

import java.util.List;

import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.query.NativeQuery; import com.Gary.domain.User;
import com.Gary.utils.HibernateUtils; public class SQLDao { public void find()
{
Session session = HibernateUtils.getSession();
Transaction beginTransaction = session.beginTransaction(); //开始进行SQL查询
String sql = "select * from user"; //创建sql查询对象
NativeQuery query = session.createSQLQuery(sql);
query.addEntity(User.class); //接收list
List<User> list = query.list();
//接收单一返回值 query.uniqyeResult(); //输出第一个成员姓名
System.out.println(list.get(0).getUsername());
//结束SQL查询 beginTransaction.commit();
session.close(); } //SQL条件查询
public void find2()
{
Session session = HibernateUtils.getSession();
Transaction beginTransaction = session.beginTransaction(); //开始进行SQL查询
String sql = "select * from user where id = ?";
//创建SQL查询对象
NativeQuery query = session.createSQLQuery(sql);
//封装参数,给第一个?赋值
query.setParameter(1, "1"); query.addEntity(User.class);
//唯一返回值
User user = (User) query.uniqueResult();
System.out.println(user);
//结束SQL查询 beginTransaction.commit();
session.close(); } //SQL分页查询
public void find3()
{
Session session = HibernateUtils.getSession();
Transaction beginTransaction = session.beginTransaction(); //开始进行SQL查询
String sql = "select * from user limit ? , ?";
//创建SQL查询对象
NativeQuery query = session.createSQLQuery(sql);
//封装参数,给第一个?赋值
query.setParameter(1, 0);
//同理
query.setParameter(2, 2);
query.addEntity(User.class);
//唯一返回值
List<User> list = query.list();
System.out.println(list.get(0).getUsername());
//结束SQL查询 beginTransaction.commit();
session.close(); } }

SQLDao.java

  数据库user表

  向数据库中添加假数据

  

1、SQL基本查询

  //开始进行SQL查询
  String sql = "select * from user";   //创建sql查询对象
  NativeQuery query = session.createSQLQuery(sql);
  query.addEntity(User.class);

  SQLDao.java向数据库发起查询请求

public void find()
{
Session session = HibernateUtils.getSession();
Transaction beginTransaction = session.beginTransaction(); //开始进行SQL查询
String sql = "select * from user"; //创建sql查询对象
NativeQuery query = session.createSQLQuery(sql);
query.addEntity(User.class); //接收list
List<User> list = query.list();
//接收单一返回值 query.uniqyeResult(); //输出第一个成员姓名
System.out.println(list.get(0).getUsername());
//结束SQL查询 beginTransaction.commit();
session.close(); }

  

package com.Gary.dao;

import java.util.List;

import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.query.NativeQuery; import com.Gary.domain.User;
import com.Gary.utils.HibernateUtils; public class SQLDao { public void find()
{
Session session = HibernateUtils.getSession();
Transaction beginTransaction = session.beginTransaction(); //开始进行SQL查询
String sql = "select * from user"; //创建sql查询对象
NativeQuery query = session.createSQLQuery(sql);
query.addEntity(User.class); //接收list
List<User> list = query.list();
//接收单一返回值 query.uniqyeResult(); //输出第一个成员姓名
System.out.println(list.get(0).getUsername());
//结束SQL查询 beginTransaction.commit();
session.close(); } }

SQLDao.java

2、SQL条件查询

        //开始进行SQL查询
String sql = "select * from user where id = ?";
//创建SQL查询对象
NativeQuery query = session.createSQLQuery(sql);
//封装参数,给第一个?赋值
query.setParameter(1, "1"); query.addEntity(User.class);

  SQLDao.java向数据库发起查询请求

public void find2()
{
Session session = HibernateUtils.getSession();
Transaction beginTransaction = session.beginTransaction(); //开始进行SQL查询
String sql = "select * from user where id = ?";
//创建SQL查询对象
NativeQuery query = session.createSQLQuery(sql);
//封装参数,给第一个?赋值
query.setParameter(1, "1"); query.addEntity(User.class);
//唯一返回值
User user = (User) query.uniqueResult();
System.out.println(user);
//结束SQL查询 beginTransaction.commit();
session.close(); }

package com.Gary.dao;

import java.util.List;

import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.query.NativeQuery; import com.Gary.domain.User;
import com.Gary.utils.HibernateUtils; public class SQLDao { public void find()
{
Session session = HibernateUtils.getSession();
Transaction beginTransaction = session.beginTransaction(); //开始进行SQL查询
String sql = "select * from user"; //创建sql查询对象
NativeQuery query = session.createSQLQuery(sql);
query.addEntity(User.class); //接收list
List<User> list = query.list();
//接收单一返回值 query.uniqyeResult(); //输出第一个成员姓名
System.out.println(list.get(0).getUsername());
//结束SQL查询 beginTransaction.commit();
session.close(); } public void find2()
{
Session session = HibernateUtils.getSession();
Transaction beginTransaction = session.beginTransaction(); //开始进行SQL查询
String sql = "select * from user where id = ?";
//创建SQL查询对象
NativeQuery query = session.createSQLQuery(sql);
//封装参数,给第一个?赋值
query.setParameter(1, "1"); query.addEntity(User.class);
//唯一返回值
User user = (User) query.uniqueResult();
System.out.println(user);
//结束SQL查询 beginTransaction.commit();
session.close(); } }

SQLDao.java

3、SQL分页查询

  //开始进行SQL查询
  String sql = "select * from user limit ? , ?";
  //创建SQL查询对象
  NativeQuery query = session.createSQLQuery(sql);
  //封装参数,给第一个?赋值
  query.setParameter(1, 0);
  //同理
  query.setParameter(2, 2);
  query.addEntity(User.class);
  //唯一返回值
  List<User> list = query.list();

  SQLDao.java向数据库发起查询请求

//SQL分页查询
public void find3()
{
Session session = HibernateUtils.getSession();
Transaction beginTransaction = session.beginTransaction(); //开始进行SQL查询
String sql = "select * from user limit ? , ?";
//创建SQL查询对象
NativeQuery query = session.createSQLQuery(sql);
//封装参数,给第一个?赋值
query.setParameter(1, 0);
//同理
query.setParameter(2, 2);
query.addEntity(User.class);
//唯一返回值
List<User> list = query.list();
System.out.println(list.get(0).getUsername());
//结束SQL查询 beginTransaction.commit();
session.close(); }

package com.Gary.dao;

import java.util.List;

import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.query.NativeQuery; import com.Gary.domain.User;
import com.Gary.utils.HibernateUtils; public class SQLDao { public void find()
{
Session session = HibernateUtils.getSession();
Transaction beginTransaction = session.beginTransaction(); //开始进行SQL查询
String sql = "select * from user"; //创建sql查询对象
NativeQuery query = session.createSQLQuery(sql);
query.addEntity(User.class); //接收list
List<User> list = query.list();
//接收单一返回值 query.uniqyeResult(); //输出第一个成员姓名
System.out.println(list.get(0).getUsername());
//结束SQL查询 beginTransaction.commit();
session.close(); } //SQL条件查询
public void find2()
{
Session session = HibernateUtils.getSession();
Transaction beginTransaction = session.beginTransaction(); //开始进行SQL查询
String sql = "select * from user where id = ?";
//创建SQL查询对象
NativeQuery query = session.createSQLQuery(sql);
//封装参数,给第一个?赋值
query.setParameter(1, "1"); query.addEntity(User.class);
//唯一返回值
User user = (User) query.uniqueResult();
System.out.println(user);
//结束SQL查询 beginTransaction.commit();
session.close(); } //SQL分页查询
public void find3()
{
Session session = HibernateUtils.getSession();
Transaction beginTransaction = session.beginTransaction(); //开始进行SQL查询
String sql = "select * from user limit ? , ?";
//创建SQL查询对象
NativeQuery query = session.createSQLQuery(sql);
//封装参数,给第一个?赋值
query.setParameter(1, 0);
//同理
query.setParameter(2, 2);
query.addEntity(User.class);
//唯一返回值
List<User> list = query.list();
System.out.println(list.get(0).getUsername());
//结束SQL查询 beginTransaction.commit();
session.close(); } }

SQLDao.java

JavaWeb_(Hibernate框架)Hibernate中数据查询语句SQL基本用法的更多相关文章

  1. JavaWeb_(Hibernate框架)Hibernate中数据查询语句Criteria基本用法

    Criteria进行数据查询与HQL和SQL的区别是Criteria完全是面向对象的方式在进行数据查询,将不再看到有sql语句的痕迹,使用Criteria 查询数据包括以下步骤: 1. 通过sessi ...

  2. JavaWeb_(Hibernate框架)Hibernate中数据查询语句HQL基本用法

    HQL(Hibernate Query Language) 是面向对象的查询语言, 它和 SQL 查询语言有些相似. 在 Hibernate 提供的各种检索方式中, HQL 是使用最广的一种检索方式. ...

  3. hibernate框架学习之数据查询(HQL)

    lHibernate共提供5种查询方式 •OID数据查询方式 •HQL数据查询方式 •QBC数据查询方式 •本地SQL查询方式 •OGN数据查询方式 OID数据查询方式 l前提:已经获取到了对象的OI ...

  4. hibernate框架学习之数据查询(本地SQL)

    本地SQL查询方式 lHibernate框架支持使用原生态SQL语句进行操作数据库 l查询对象SQLQuery由Session获取 •SQLQuery sq = s.createSQLQuery(&q ...

  5. hibernate框架学习之数据查询(QBC)

    lQBC(Query By Criteria)是一种Hibernate中使用面向对象的格式进行查询的计数 lQBC查询方式步骤 •获取Session对象 •初始化Criteria对象(使用Sessio ...

  6. hibernate框架学习之数据查询(QBC)helloworld

    package cn.itcast.h3.query.hql; import java.util.List; import org.hibernate.Criteria; import org.hib ...

  7. hibernate框架学习之数据查询(HQL)helloworld

    package cn.itcast.h3.hql; import java.util.List; import org.hibernate.Query; import org.hibernate.Se ...

  8. (数据科学学习手册28)SQL server 2012中的查询语句汇总

    一.简介 数据库管理系统(DBMS)最重要的功能就是提供数据查询,即用户根据实际需求对数据进行筛选,并以特定形式进行显示.在Microsoft SQL Serve 2012 中,可以使用通用的SELE ...

  9. JavaWeb_(Struts2框架)Action中struts-default下result的各种转发类型

    此系列博文基于同一个项目已上传至github 传送门 JavaWeb_(Struts2框架)Struts创建Action的三种方式 传送门 JavaWeb_(Struts2框架)struts.xml核 ...

随机推荐

  1. 怎样初始化XMLHttpRequest实例对象xhr

    xhr.open() 接收5个参数, 用于初始化一个http请求, 它接收5个参数: 1. method: 请求类型; 2. url: 请求的url; 3. async: 是否为异步, 默认为true ...

  2. 服务器爆满:cannot create temp file for here-document: No space left on device

    1 概述 服务器的磁盘空间被占满导致TAB补全指令失效(TAB会创建临时文件) cannot create temp file for here-document: No space left on ...

  3. CodeFirst与EntityFramework【续】

    3.    实现一对一的关系.在介绍一对多关系和多对多关系时,大家应该已经注意到了只要存在依赖关系的两个类的定义中包含对方的实例或实例的集合,Entity Framework Code First会自 ...

  4. Hash一致性算法底层原理

    大纲 Hash取余算法 判定哈希算法好坏的四个定义 一致性Hash算法的两大设计 Hash取余算法 hash(Object.key)%N,hash值随Object.key.N的变化而变化. 如果有节点 ...

  5. Linux学习(二)-Xshell 5和Xftp 5的安装和使用

    (一)软件介绍: (1)Xshell: Xshell通过互联网可以连接到远程的服务器,然后通过模拟终端来实现对服务器的各种操作,而且这款软件可以很好的解决中文乱码问题,非常的方便快捷. (2)Xftp ...

  6. 使用display:table实现两列自适应布局

    在张鑫旭大神那边看到的方法,我自己写了一遍,稍微添加了一些自己的风格特色. IE6/7不支持这个属性,从IE8开始支持这个属性,对于IE6/7可以用display:inline-block解决. ta ...

  7. 多线程理论———— threading

    什么是线程 线程也是一种多任务编程方法,可以利用计算机多核资源完成程序的并发执行.线程又被称为轻量级的进程.线程的特征 * 线程是计算机多核分配的最小单位 * 一个进程可以包含多个线程 * 线程也是一 ...

  8. Image Processing and Analysis_8_Edge Detection:Theory of Edge Detection ——1980

    此主要讨论图像处理与分析.虽然计算机视觉部分的有些内容比如特 征提取等也可以归结到图像分析中来,但鉴于它们与计算机视觉的紧密联系,以 及它们的出处,没有把它们纳入到图像处理与分析中来.同样,这里面也有 ...

  9. Django ORM常用的字段和参数

    ORM 常用字段 AutoField int自增列,必须填入参数 primary_key=True.当model中如果没有自增列,则自动会创建一个列名为id的列. IntegerField 一个整数类 ...

  10. etcd简单测试类java版

    为了方便现场安装完了etcd集群后确认集群是否好用,简单写了个测试类,网上搜的有点乱还有些不能运行,在这里再整理一个能够直接运行的 1.我把etcd的API设成3版本了,调用使用的jetcd,功能挺多 ...