- 浏览: 244261 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (281)
- hibernate (16)
- sql工具 (2)
- eclipse (15)
- tomcat (13)
- 项目部署 (4)
- java (62)
- spring (15)
- EL (1)
- javascript (8)
- 正则表达式 (1)
- jQuery (4)
- mysql (15)
- jstl (1)
- jsp (1)
- eclipse,eclipse插件 (1)
- svn (4)
- java,resin (1)
- jdbc (1)
- jdk (2)
- android (21)
- resin (3)
- php (3)
- 其他 (2)
- 数据库 (2)
- cas单点登录 (2)
- 邮箱激活 (1)
- jad (1)
- 支付 (1)
- struts (1)
- jpa (1)
- struts2 (4)
- json (3)
- oracle (2)
- velocity (1)
- sina微博登陆 (2)
- qq账户登录 (1)
- spring security (1)
- java图片处理 (1)
- http请求 (1)
- cas springsecurity (1)
- freemarker (1)
- cas (6)
- java oauth2 (2)
- oauth2.0 (6)
- springsecurity oauth2 (1)
- sms (1)
- springmvc (2)
- spring aop (1)
- luaeclipse (1)
- cocos2d (1)
- hibernate缓存 (1)
- ibatis (1)
- linux (7)
- 技术网站 (1)
- python (2)
- hadoop (1)
- war3 (0)
- elasticsearch (2)
- jboss (1)
- spring data jpa (2)
- java json (1)
- jsonp (1)
- webservice (4)
- java多线程 (1)
- java加密解密 (1)
- spring task (1)
- java session and cookie (1)
- java nio (1)
- 缓存 (1)
- java大数据 (1)
- cygwin (1)
- 设计模式 (1)
- mybatis (2)
- jquery插件 (2)
- jvm内存溢出 (1)
- drools (1)
- cookie and session (1)
- jvm内存设置 (1)
- nginx (1)
- 微信 (1)
- extjs (1)
- redis (7)
- memcached (1)
- js闭包 (1)
- js (0)
- mongodb (3)
- dubbo (2)
- jdk版本问题 (1)
- opnfire (1)
- git (1)
- jsp视频播放 (1)
- 国际化 (1)
- 后台管理 (1)
- yum (1)
- k (1)
- 算法 (0)
- jvm优化 (1)
- java检测 (1)
- maven操作 (0)
- ios打包 (1)
- 网络通信 (1)
- node.js (1)
- maven (4)
- 消息队列 (2)
- springcloud (6)
- mq (2)
- idea (3)
- log4j (1)
- docker (4)
- editplus (1)
- springboot (1)
- Kubernetes (1)
- jenkins (1)
- websocket (1)
- thirft (1)
- strom (1)
- postman (1)
- kafka (1)
- 线程池 (1)
- JVisualVM (1)
- java反射 (1)
- shell (1)
- java8 (2)
- i18 (1)
- jvm (0)
- nio (1)
- nodejs (1)
- idea java (1)
最新评论
-
pengfeifei26:
wbzhaohl 写道这个有解决方案没有时间长了,貌似有点忘了 ...
A redirect is required to get the users approval -
wbzhaohl:
这个有解决方案没有
A redirect is required to get the users approval -
somebody:
恩。好吧。这个只有在 还没发布的 2.0 版本才有。
oauth2.0设置自动授权
http://blog.csdn.net/lovesummerforever/article/details/19169779
http://www.ibm.com/developerworks/cn/java/l-hibernate1/
HibernateDaoSupport
由于Hibernate集成了JDBC,所以在访问数据库时,与直接使用JDBC访问数据库相比,Hibernate在连接、访问数据库时的代码减少了很大一大半。但由此而来也相应必须增加访问Hibernate配置文件和SessionFactory、Session的打开、关闭的代码。为了解决以上相同代码出现的复用问题,Hibernate对此又进行了再一次封装,于是,幸运地出现了HibernateDaoSupport。因此,在使用HibernateDaoSupport模板对数据库访问时,更加方便、简单,特别是进行简单的增删改查。
1、 继承了HibernateDaoSupport类的类获取session时,已不可用SessionFactory.OpenSessioon的形式来获取Session了,由于HibernateDaoSupport本身已有获取session的方法getSession(),所以直接用Session se=this.getSession();来获取
2、 在依据hql获取用户信息时,继承了HibernateDaoSupport类的类中不能在使用Query类了,而是用List list = this.getHibernateTemplate().find(hql);形式来获取实体类集合
/**
*
* 对企业信息的简单增删改查。
*/
基于HibernateDaoSupport的三个分页控制方法
http://www.ibm.com/developerworks/cn/java/l-hibernate1/
HibernateDaoSupport
由于Hibernate集成了JDBC,所以在访问数据库时,与直接使用JDBC访问数据库相比,Hibernate在连接、访问数据库时的代码减少了很大一大半。但由此而来也相应必须增加访问Hibernate配置文件和SessionFactory、Session的打开、关闭的代码。为了解决以上相同代码出现的复用问题,Hibernate对此又进行了再一次封装,于是,幸运地出现了HibernateDaoSupport。因此,在使用HibernateDaoSupport模板对数据库访问时,更加方便、简单,特别是进行简单的增删改查。
1、 继承了HibernateDaoSupport类的类获取session时,已不可用SessionFactory.OpenSessioon的形式来获取Session了,由于HibernateDaoSupport本身已有获取session的方法getSession(),所以直接用Session se=this.getSession();来获取
2、 在依据hql获取用户信息时,继承了HibernateDaoSupport类的类中不能在使用Query类了,而是用List list = this.getHibernateTemplate().find(hql);形式来获取实体类集合
/**
*
* 对企业信息的简单增删改查。
*/
public class EnterpriseDaoImpl extends HibernateDaoSupport implements EnterpriseDao { /** * @param Enterprise * 删除某条企业信息。 */ public void del(Enterprise enterprise) { this.getHibernateTemplate().delete(enterprise); } /** * @return 所有的企业信息。 * 查询所有的企业信息。 */ @SuppressWarnings("unchecked") public List<Enterprise> findAllEnterprises() { String hql = "from Enterprise enterprise"; return this.getHibernateTemplate().find(hql); } /** * @param Integer,企业编号。 * @return 某个企业信息。 * 通过企业编号查询企业信息。 */ public Enterprise findEnterpriseById(Integer id) { return (Enterprise) this.getHibernateTemplate().load(Enterprise.class, id); } /** * @param Enterprise * 添加企业信息。 */ public void save(Enterprise enterprise) { this.getHibernateTemplate().save(enterprise); } /** * @param Enterprise * 修改企业信息。 */ public void update(Enterprise enterprise) { this.getHibernateTemplate().update(enterprise); } }
基于HibernateDaoSupport的三个分页控制方法
package com.lbx.chat.paging; import java.sql.SQLException; import java.util.List; import org.hibernate.HibernateException; import org.hibernate.Query; import org.hibernate.Session; import org.springframework.orm.hibernate3.HibernateCallback; import org.springframework.orm.hibernate3.HibernateTemplate; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; /** * 基于HibernateDaoSupport的三个分页控制方法 * @author Administrator * */ public class PageDaoHibernateDaoSupport extends HibernateDaoSupport { /** * 使用HQL语句进行分页查询操作 * offset 第一条记录的索引 * pageSize 每页需要显示的记录数 * @return 当前页的所有记录 */ public List findByPage(final String hql, final int offset, final int pageSize){ List list = getHibernateTemplate().executeFind(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { List result = session.createQuery(hql).setFirstResult(offset) .setMaxResults(pageSize) .list(); return result; } }); return list; } /** * 使用HQL语句进行分页查询操作 * value 如果HQL有一个参数需要传人,则value就是传人的参数 * offset 第一条记录的索引 * pageSize 每页需要显示的记录数 * @return 当前页的所有记录 */ public List findByPage(final String hql, final Object value, final int offset, final int pageSize){ //System.out.println("PageDaoHibernate.findByPage()"); List list = getHibernateTemplate().executeFind(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { List result = session.createQuery(hql).setFirstResult(offset) .setParameter(0, value) .setMaxResults(pageSize) .list(); return result; } }); return list; } /** * 使用HQL语句进行分页查询操作 * values 如果HQL有多个参数需要传人,则values就是传人的参数数组 * offset 第一条记录的索引 * pageSize 每页需要显示的记录数 * @return 当前页的所有记录 */ public List findByPage(final String hql, final Object[] values, final int offset, final int pageSize){ List list = getHibernateTemplate().executeFind(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { Query query = session.createQuery(hql); for (int i = 0; i < values.length; i++) { query.setParameter(i, values[i]); } List result = query.setFirstResult(offset) .setMaxResults(pageSize) .list(); return result; } }); return list; } }
发表评论
-
hibernate连多个库及session操作
2014-06-06 16:19 625http://www.blogjava.net/yzzh9/a ... -
Spring 使用注解方式进行事务管理
2014-01-18 15:33 669事物注解方式: @Transactional 当标于类前时, ... -
Transaction rolled back because it has been marked as rollback-only
2014-01-16 15:02 631http://narcissusoyf.iteye.com/b ... -
An internal error occurred during: "Fetching children of Database".
2014-01-14 17:50 1430An internal error occurred duri ... -
hibernate异常:failed to lazily initialize a collection of role
2013-12-18 11:21 719设置lazy即可 private Set<UrsMem ... -
hibernate查询
2013-08-05 11:41 856hibernate 查询 criteria 查询:http:/ ... -
a different object with the same identifier value was already associated with th
2013-08-01 17:05 7791、a different object with the s ... -
applicationContext.xml
2013-08-01 11:59 885<?xml version="1.0& ... -
hibernate问题
2013-07-31 22:10 1174Caused by: java.lang.NoClassDef ... -
hibernate jpa
2013-07-29 23:05 716http://zhou137520.iteye.com/blo ... -
ssh框架搭建
2013-07-29 21:33 833http://blog.csdn.net/aaaaaaaa07 ... -
org.hibernate.hql.ast.QuerySyntaxException
2013-07-26 11:40 806在使用hibernate tools工具时,报错,如图 解 ... -
hibernate tools插件安装
2013-07-26 10:56 1396eclipse helios(3.6)版 1.启动 ... -
Caused by: java.sql.SQLException: An attempt by a client to checkout a Connectio
2013-06-20 14:40 968<bean id="dataSource&qu ... -
Value '0000-00-00' can not be represented as java.sql.Timestamp
2013-06-13 16:41 1090Value '0000-00-00' can not be r ...
相关推荐
Hibernate 使用参考文档 Hibernate 是一个流行的 Java持久层框架,它提供了一种对象关系映射(Object-Relational Mapping,ORM)机制,用于将 Java 对象与关系数据库之间建立映射关系。本文档旨在指导读者快速从 ...
2. **javassist.jar**:Hibernate使用Javassist库来动态生成字节码,实现运行时对类的增强,比如添加getter和setter方法,实现序列化等。这对于ORM框架来说是必不可少的,因为我们需要在不修改源代码的情况下,为...
**配置Hibernate使用C3P0连接池** 在Java Web开发中,数据库连接管理是一个至关重要的环节,有效地管理和控制数据库连接可以提高应用的性能和稳定性。Hibernate作为一款强大的ORM(对象关系映射)框架,提供了与...
【标题】"Hibernate使用技巧共2页.pdf.zip" 提供的文档主要聚焦于Hibernate这一流行的Java持久化框架的使用技巧。Hibernate是一个对象关系映射(ORM)工具,它简化了数据库与Java对象之间的交互,使得开发者可以使用...
Hibernate使用`java.lang.String`来映射。 4. **日期时间型**:DATE、TIME、TIMESTAMP。Hibernate提供了`java.util.Date`、`java.sql.Time`和`java.sql.Timestamp`来对应。 5. **布尔型**:BOOLEAN在数据库中表示...
Hibernate 使用指南 Hibernate 是一款 ORM 框架(对象关系映射),它对 JDBC(数据库连接技术的简称)进行了轻量级的封装,使得 Java 程序员可以随心所欲的使用面向对象的编程思想来操作数据库。Hibernate 的作用:...
6. 反射增强库:如`asm-*.jar` - Hibernate使用ASM库来处理动态类生成和元数据解析。 配置这些jar包的过程主要包括以下步骤: 1. **添加依赖**:将上述jar包添加到项目的类路径(classpath)中,这通常在Maven或...
Hibernate 完整使用教程 Hibernate 是一种流行的开源持久层框架,允许开发者使用面向对象编程语言来访问关系数据库。下面是关于 Hibernate 的详细知识点: Hibernate 介绍 Hibernate 是一个开源的持久层框架,它...
hibernate的使用文档
以下是对Hibernate使用过程的详细解释: 1. **创建数据库表**:在开始使用Hibernate之前,首先需要在数据库中创建对应的表结构。这些表将与Java对象进行映射,以便于数据的存储和检索。 2. **创建Java项目**:在...
标题“hibernate与mybatis一起使用取长补短”暗示了在一个项目中同时采用这两种框架,旨在充分利用它们各自的优点,以提升项目的性能和灵活性。 Hibernate是一款强大的ORM框架,它提供了完整的对象模型支持,包括...
Hibernate 是一个流行的对象关系映射(ORM)框架,它允许开发者使用 Java 对象来操作数据库,而无需直接编写 SQL 语句。以下是 Hibernate 使用的详细解释: 1. **JDBC 基础**:在 Hibernate 中,JDBC(Java ...
Session s= HibernateSessionFactory.getSession(); 就是Hibernate的工具java类
chris-exception.jar 编译的异常处理jar包结合hibernate使用
4. **javassist.jar**:Hibernate使用javassist库动态生成字节码,实现对Java类的增强,比如添加getter和setter方法,以便于ORM操作。 5. **antlr-2.7.7.jar**:ANTLR是一个强大的解析器生成器,用于读取、处理、...
2. 表映射(Mapping):Hibernate使用XML或注解方式将实体类映射到数据库表。例如,使用@Table注解指定对应的表名,@Column注解定义列属性。 3. 主键(Primary Key):每个实体都应有一个唯一的标识符,通常由@Id...
- 第二级缓存:为了提高性能,可以配置Hibernate使用第二级缓存,如Ehcache。 - JPA支持:Hibernate同时也支持Java Persistence API (JPA),可以通过@PersistenceUnit注解来管理EntityManagerFactory。 通过这个...