本文展示三种在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(); } }
数据库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(); } }
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(); } }
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(); } }