04-HibernateUtil完整版,HQL查询入门
2014-07-06 20:12
281 查看
①User在Oracle数据库中是一个关键字。
尽量是用命名参数编写sql语句。
分页的两个重要的方法query.setFirstResult(); query.setMaxResult();
query.list()方法,获取集合。
query.uniqueResult()获取单个记录。
HibernateUtil.java
package cn.itcast.hibernate;
import java.io.Serializable;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
/**
* @ProjectName:hibernate
* @ClassName:HibernateUtil
* @Description:hibernate工具类
* @author: 徐凯强
* @version: V1.0
* @date:2014-7-6上午11:07:42
*/
public final class HibernateUtil {
private static SessionFactory sessionFactory;
/** 私有的构造方法,不能被实例化 */
private HibernateUtil() {
}
/** 当虚拟机加载类的时候,执行,保证只运行一次 */
static {
/** hibernate初始化 */
Configuration cfg = new Configuration();
cfg.configure();
/** 初始化,目的获取sessionFactory对象 */
sessionFactory = cfg.buildSessionFactory();
}
/**
*@MethodName:getSessionFactory
*@Description:获取sessionFactory
*@author:徐凯强
*@return SessionFactory
*@date:2014-7-6上午11:04:51
*/
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
/**
*@MethodName:getSession
*@Description:获取session对象
*@author:徐凯强
*@return Session返回session对象
*@date:2014-7-6上午11:09:31
*/
public static Session getSession() {
return sessionFactory.openSession();
}
/**
*@MethodName:save
*@Description:保存实体
*@param entity要保存的实体参数
*@author:徐凯强
*@return void返回值
*@date:2014-7-6下午04:16:54
*/
public static void save(Object entity) {
/** 创建session、transaction对象 */
Session session = null;
Transaction transaction = null;
try {
/** 使用工具类进行实例化Session对象 */
session = HibernateUtil.getSession();
/** 调用session的beginTransaction方法实例化transaction对象 */
transaction = session.beginTransaction();
/** 调用session的save方法,进行对domain对象的持久化 */
session.save(entity);
/** 提交事务,如果不提交,数据将无法持久化到数据库中 */
/** 如果事务提交不成功,会进行自动回滚 */
transaction.commit();
} finally {
/** 判断session对象是否为空,不为空则关闭session资源 */
if (session != null) {
session.close();
}
}
}
/**
*@MethodName:delete
*@Description:删除实体
*@param entity要删除的实体参数
*@author:徐凯强
*@return void返回值
*@date:2014-7-6下午04:19:15
*/
public static void delete(Object entity) {
/** 创建session、transaction对象 */
Session session = null;
Transaction transaction = null;
try {
/** 使用工具类进行实例化Session对象 */
session = HibernateUtil.getSession();
/** 调用session的beginTransaction方法实例化transaction对象 */
transaction = session.beginTransaction();
/** 调用session的delete方法,进行对domain对象的删除 */
session.delete(entity);
/** 提交事务,如果不提交,数据将无法持久化到数据库中 */
/** 如果事务提交不成功,会进行自动回滚 */
transaction.commit();
} finally {
/** 判断session对象是否为空,不为空则关闭session资源 */
if (session != null) {
session.close();
}
}
}
/**
*@MethodName:update
*@Description:更新实体
*@param entity要更新的实体参数
*@author:徐凯强
*@return void返回值
*@date:2014-7-6下午04:20:32
*/
public static void update(Object entity) {
/** 创建session、transaction对象 */
Session session = null;
Transaction transaction = null;
try {
/** 使用工具类进行实例化Session对象 */
session = HibernateUtil.getSession();
/** 调用session的beginTransaction方法实例化transaction对象 */
transaction = session.beginTransaction();
/** 调用session的update方法,进行对domain对象的更新 */
session.update(entity);
/** 提交事务,如果不提交,数据将无法持久化到数据库中 */
/** 如果事务提交不成功,会进行自动回滚 */
transaction.commit();
} finally {
/** 判断session对象是否为空,不为空则关闭session资源 */
if (session != null) {
session.close();
}
}
}
/**
*@MethodName:get
*@Description:根据主键进行查询数据库中的记录
*@param clazz表示Class类对象
*@param id
*@author:徐凯强
*@return Object返回Object对象
*@date:2014-7-6下午04:25:33
*/
public static Object get(Class<?> clazz, Serializable id) {
/** 创建session、transaction对象 */
Session session = null;
Object object = null;
try {
/** 使用工具类进行实例化Session对象 */
session = HibernateUtil.getSession();
/** 通过反射获取类的信息,通过反射找到类的映射文件,知道到数据库那张表进行查询 */
object = session.get(clazz, id);
} finally {
/** 判断session对象是否为空,不为空则关闭session资源 */
if (session != null) {
session.close();
}
}
return object;
}
}
源码下载地址:
HibernateUtil分装完整版HQL查询
尽量是用命名参数编写sql语句。
分页的两个重要的方法query.setFirstResult(); query.setMaxResult();
query.list()方法,获取集合。
query.uniqueResult()获取单个记录。
HibernateUtil.java
package cn.itcast.hibernate;
import java.io.Serializable;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
/**
* @ProjectName:hibernate
* @ClassName:HibernateUtil
* @Description:hibernate工具类
* @author: 徐凯强
* @version: V1.0
* @date:2014-7-6上午11:07:42
*/
public final class HibernateUtil {
private static SessionFactory sessionFactory;
/** 私有的构造方法,不能被实例化 */
private HibernateUtil() {
}
/** 当虚拟机加载类的时候,执行,保证只运行一次 */
static {
/** hibernate初始化 */
Configuration cfg = new Configuration();
cfg.configure();
/** 初始化,目的获取sessionFactory对象 */
sessionFactory = cfg.buildSessionFactory();
}
/**
*@MethodName:getSessionFactory
*@Description:获取sessionFactory
*@author:徐凯强
*@return SessionFactory
*@date:2014-7-6上午11:04:51
*/
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
/**
*@MethodName:getSession
*@Description:获取session对象
*@author:徐凯强
*@return Session返回session对象
*@date:2014-7-6上午11:09:31
*/
public static Session getSession() {
return sessionFactory.openSession();
}
/**
*@MethodName:save
*@Description:保存实体
*@param entity要保存的实体参数
*@author:徐凯强
*@return void返回值
*@date:2014-7-6下午04:16:54
*/
public static void save(Object entity) {
/** 创建session、transaction对象 */
Session session = null;
Transaction transaction = null;
try {
/** 使用工具类进行实例化Session对象 */
session = HibernateUtil.getSession();
/** 调用session的beginTransaction方法实例化transaction对象 */
transaction = session.beginTransaction();
/** 调用session的save方法,进行对domain对象的持久化 */
session.save(entity);
/** 提交事务,如果不提交,数据将无法持久化到数据库中 */
/** 如果事务提交不成功,会进行自动回滚 */
transaction.commit();
} finally {
/** 判断session对象是否为空,不为空则关闭session资源 */
if (session != null) {
session.close();
}
}
}
/**
*@MethodName:delete
*@Description:删除实体
*@param entity要删除的实体参数
*@author:徐凯强
*@return void返回值
*@date:2014-7-6下午04:19:15
*/
public static void delete(Object entity) {
/** 创建session、transaction对象 */
Session session = null;
Transaction transaction = null;
try {
/** 使用工具类进行实例化Session对象 */
session = HibernateUtil.getSession();
/** 调用session的beginTransaction方法实例化transaction对象 */
transaction = session.beginTransaction();
/** 调用session的delete方法,进行对domain对象的删除 */
session.delete(entity);
/** 提交事务,如果不提交,数据将无法持久化到数据库中 */
/** 如果事务提交不成功,会进行自动回滚 */
transaction.commit();
} finally {
/** 判断session对象是否为空,不为空则关闭session资源 */
if (session != null) {
session.close();
}
}
}
/**
*@MethodName:update
*@Description:更新实体
*@param entity要更新的实体参数
*@author:徐凯强
*@return void返回值
*@date:2014-7-6下午04:20:32
*/
public static void update(Object entity) {
/** 创建session、transaction对象 */
Session session = null;
Transaction transaction = null;
try {
/** 使用工具类进行实例化Session对象 */
session = HibernateUtil.getSession();
/** 调用session的beginTransaction方法实例化transaction对象 */
transaction = session.beginTransaction();
/** 调用session的update方法,进行对domain对象的更新 */
session.update(entity);
/** 提交事务,如果不提交,数据将无法持久化到数据库中 */
/** 如果事务提交不成功,会进行自动回滚 */
transaction.commit();
} finally {
/** 判断session对象是否为空,不为空则关闭session资源 */
if (session != null) {
session.close();
}
}
}
/**
*@MethodName:get
*@Description:根据主键进行查询数据库中的记录
*@param clazz表示Class类对象
*@param id
*@author:徐凯强
*@return Object返回Object对象
*@date:2014-7-6下午04:25:33
*/
public static Object get(Class<?> clazz, Serializable id) {
/** 创建session、transaction对象 */
Session session = null;
Object object = null;
try {
/** 使用工具类进行实例化Session对象 */
session = HibernateUtil.getSession();
/** 通过反射获取类的信息,通过反射找到类的映射文件,知道到数据库那张表进行查询 */
object = session.get(clazz, id);
} finally {
/** 判断session对象是否为空,不为空则关闭session资源 */
if (session != null) {
session.close();
}
}
return object;
}
}
源码下载地址:
HibernateUtil分装完整版HQL查询
相关文章推荐
- 《Java从入门到放弃》入门篇:hibernate查询——HQL
- Hibernate的查询语言之HQL(一)——快速入门
- Hibernate HQL查询入门例子
- 《Java从入门到放弃》框架入门篇:hibernate查询——HQL
- 框架学习之Hibernate 第五节 HQL和Criteria查询入门
- Hibernate进阶 (12)HQL入门单表简单查询
- 《Java从入门到放弃》入门篇:hibernate查询——HQL
- Hibernate入门(7):HQL查询
- 06_传智播客hibernate教程_完善HibernateUtil类及hql查询入门 &amp;amp;&amp;amp;07_传智播客hibernate教程_实体类或属性名与数据库关键字冲突问题
- 《Java从入门到放弃》入门篇:hibernate查询——HQL
- Hibernate 查询语言(HQL)
- Hibernate入门04 - 提供JDBC连接
- Hibernate:HQL/QBC查询语言比较的用法(2)
- Hibernate:HQL/QBC查询语言比较的用法
- Hibernate入门05 - 基本数据查询
- HQL: Hibernate查询语言(一)
- 在Hibernate执行一对多表查询的HQL语句,怎样循环打印出结果
- HQL:Hibernate查询语言(四)
- HQL:Hibernate查询语言(三)
- hibernate查询语句--HQL(转自CSDN)