本文展示三种在Hibernate中使用SQL语句进行数据查询基本用法
1、基本查询
2、条件查询
3、分页查询
packagecom.Gary.dao;importjava.util.List;importorg.hibernate.Session;importorg.hibernate.Transaction;importorg.hibernate.query.NativeQuery;importcom.Gary.domain.User;importcom.Gary.utils.HibernateUtils;public classSQLDao {public voidfind()
{
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 list =query.list();//接收单一返回值 query.uniqyeResult();//输出第一个成员姓名
System.out.println(list.get(0).getUsername());//结束SQL查询
beginTransaction.commit();
session.close();
}//SQL条件查询
public voidfind2()
{
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 voidfind3()
{
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 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 voidfind()
{
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 list =query.list();//接收单一返回值 query.uniqyeResult();//输出第一个成员姓名
System.out.println(list.get(0).getUsername());//结束SQL查询
beginTransaction.commit();
session.close();
}
packagecom.Gary.dao;importjava.util.List;importorg.hibernate.Session;importorg.hibernate.Transaction;importorg.hibernate.query.NativeQuery;importcom.Gary.domain.User;importcom.Gary.utils.HibernateUtils;public classSQLDao {public voidfind()
{
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 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 voidfind2()
{
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();
}
packagecom.Gary.dao;importjava.util.List;importorg.hibernate.Session;importorg.hibernate.Transaction;importorg.hibernate.query.NativeQuery;importcom.Gary.domain.User;importcom.Gary.utils.HibernateUtils;public classSQLDao {public voidfind()
{
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 list =query.list();//接收单一返回值 query.uniqyeResult();//输出第一个成员姓名
System.out.println(list.get(0).getUsername());//结束SQL查询
beginTransaction.commit();
session.close();
}public voidfind2()
{
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 list = query.list();
SQLDao.java向数据库发起查询请求
//SQL分页查询
public voidfind3()
{
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 list =query.list();
System.out.println(list.get(0).getUsername());//结束SQL查询
beginTransaction.commit();
session.close();
}
packagecom.Gary.dao;importjava.util.List;importorg.hibernate.Session;importorg.hibernate.Transaction;importorg.hibernate.query.NativeQuery;importcom.Gary.domain.User;importcom.Gary.utils.HibernateUtils;public classSQLDao {public voidfind()
{
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 list =query.list();//接收单一返回值 query.uniqyeResult();//输出第一个成员姓名
System.out.println(list.get(0).getUsername());//结束SQL查询
beginTransaction.commit();
session.close();
}//SQL条件查询
public voidfind2()
{
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 voidfind3()
{
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 list =query.list();
System.out.println(list.get(0).getUsername());//结束SQL查询
beginTransaction.commit();
session.close();
}
}
SQLDao.java