HibernateTemplate的常用方法「建议收藏」

HibernateTemplate的常用方法「建议收藏」HibernateTemplate提供非常多的常用方法来完成基本的操作,比如通常的增加、删除、修改、查询等操作,Spring2.0更增加对命名SQL查询的支持,也增加对分页的支持。大部分情况下,使用Hibernate的常规用法,就可完成大多数DAO对象的CRUD操作。 下面是HibernateTemplate的常用方法简介:     voiddelete(Objecte…

大家好,又见面了,我是你们的朋友全栈君。

HibernateTemplate提供非常多的常用方法来完成基本的操作,比如通常的增加、删除、修改、查询等操作,Spring 2.0更增加对命名SQL查询的支持,也增加对分页的支持。大部分情况下,使用Hibernate的常规用法,就可完成大多数DAO对象的CRUD操作。

 

下面是HibernateTemplate的常用方法简介:

      void delete(Object entity):删除指定持久化实例

      deleteAll(Collection entities):删除集合内全部持久化类实例

      find(String queryString):根据HQL查询字符串来返回实例集合

      findByNamedQuery(String queryName):根据命名查询返回实例集合

      get(Class entityClass, Serializable id):根据主键加载特定持久化类的实例

      save(Object entity):保存新的实例

      saveOrUpdate(Object entity):根据实例状态,选择保存或者更新

      update(Object entity):更新实例的状态,要求entity是持久状态

      setMaxResults(int maxResults):设置分页的大

 

下面是一个完整DAO类的源代码:

public class PersonDAOHibernate implements PersonDAO  {  
	//采用log4j来完成调试时的日志功能  
	private static Log log = LogFactory.getLog(NewsDAOHibernate.class);  
	//以私有的成员变量来保存SessionFactory。  
	private SessionFactory sessionFactory;  
	//以私有变量的方式保存HibernateTemplate  
	private HibernateTemplate hibernateTemplate = null;  
		 //设值注入SessionFactory必需的setter方法  
	public void setSessionFactory(SessionFactory sessionFactory)  {  
		   this.sessionFactory = sessionFactory;  
	}  
  
         //初始化本DAO所需的HibernateTemplate  
	public HIbernateTemplate getHibernateTemplate()  {  
		//首先,检查原来的hibernateTemplate实例是否还存在  
		if ( hibernateTemplate == null)  
		{  
		//如果不存在,新建一个HibernateTemplate实例  
			hibernateTemplate = new HibernateTemplate(sessionFactory);  
		}  
		return hibernateTemplate;  
	}  
  
         //返回全部的人的实例  
    public List getPersons() {          
                   //通过HibernateTemplate的find方法返回Person的全部实例  
           return getHibernateTemplate().find("from Person");  
    }  
  
          
    public void savePerson(Person person) {                   
                   getHibernateTemplate().saveOrUpdate(person);  
    }  
	
	/*
		@ param personid 需要删除Person实例的主键  
	*/
    public void removePerson(int personid)  {  
		//先加载特定实例  
		Object p = getHibernateTemplate().load(Person.class, new Integer(personid));  
		//删除特定实例  
		getHibernateTemplate().delete(p);  
    } 
}

 

 

 


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151135.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 如何新建pycharm项目_pycharm创建新项目

    如何新建pycharm项目_pycharm创建新项目给自己的一个笔记^_^1、NewProjectProjectInterpreter设置新建项目所依赖的python环境; Newenvironmentusing设置新的依赖环境。在项目中新建一个venv(virtualenv)目录,用于存放虚拟的python环境,这里所有的类库依赖都可以直接脱离系统安装的python独立运行; 勾选上Inheritglobalsit…

    2022年8月28日
    3
  • javah是什么命令_jvm命令

    javah是什么命令_jvm命令javah命令用法

    2022年9月24日
    5
  • DVWA登录出现allow_url_fopen = On allow_url_include = On的错误

    DVWA登录出现allow_url_fopen = On allow_url_include = On的错误进入到DVWA页面中:点击下图中按钮Creat/ResetDatabase创建数据库:出现如下错误提示:CouldnotconnecttotheMySQLservice.Pleasechecktheconfigfile.12意思是:无法连接到MySQL服务。请检查你的config文件。问题解决此时我们找到config文件下的config.inc.php文件打开进行操作,将$DVWA[‘db_password’]改为和phpstudy_pro中数据

    2022年7月16日
    16
  • 一键禁用Win10自动更新,联想官方出品!!

    一键禁用Win10自动更新,联想官方出品!!对于Win10系统的强制更新,真的是是又爱又恨,更新是为了解决电脑系统存在的安全风险以及加入一些新功能,但经常性的开机或者关机都要更新配置,遇到大更新还需要花费很长的等待时间,更加可气的是还会出现更新失败的风险。有时真恨不得将它永久禁止更新。。目前网络上常见的禁止更新方法有两种,1、禁用WindowsUpdata相关服务;2、通过组策略禁止更新。事实证明这两种方法已经摆脱不了win10自…

    2022年6月4日
    158
  • Aria2使用详细教程

    Aria2使用详细教程随着百度网盘限速,迅雷限速,逼着用户花钱充会员,越来越多的激活成功教程方法和替代工具出现,Aria2就是这样一种工具,Aria2的简介就不赘述了,网上多的是。

    2022年6月30日
    31
  • 怎样开挂的教程_销售常见的八个问题

    怎样开挂的教程_销售常见的八个问题概念篇1、什么是外挂它是怎样定义?外挂是指某些人利用自己的电脑技术专门针对一个或多个网络游戏,通过改变网络游戏软件的部分程序,制作而成的作弊程序。这是一个让游戏公司痛恨、玩家分派、作者成就、工作室必备的游戏辅助软件程序。2、一般外挂分几类?有模拟类、内存类、封包类、变态类、脱机类,一般来讲模拟类是最轻的,比如用按键精灵来代替鼠标和键盘的操作;内存挂、封包挂是比较正规和普遍的

    2025年6月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号