HibernateTemplate的用法以及作用
HibernateTemplate作用:从字面上意思我们就知道他是一个模板,然后我们又知道hibernate是一个对象关系映射的框架,所以我们很容易联想到他的功能就是将Hibernate 的持久层访问模板化。或者我们直接叫他为hibernate的持久化模板。
HibernateTemplate用法:
1、直接用,在实现类中继承HibernateDaoSupport类,然后this.getHibernateTemplate()直接获取到HibernateTemplate对象,就可以调用HibernateTemplate中封装的一些方法了。
2、不过这样用起来在系统中比较麻烦,每次都要在DAO的实现类中继承HibernateDaoSupport,我们可以对HibernateTemplate进行再次封装,java嘛都是这样封装 封装 继承 继承 抽象抽象 然后就多态了 。
下面我就直接上代码了 --对HibernateTemplate的再次封装实现公用的增删改查调用
<!--导入的架包-->
import java.io.Serializable;
import java.util.List;
public interface GenericDAO<T, ID extends Serializable> {
List<T> find(T var1);
ID save(T var1);
void remove(T var1);
void update(T var1);
/。。。。。。可以写其它一些系统业务需要的方法 ,这里我就只写增删改查。。。。。。。/
}
<!--实现类-->
<!--架包-->
import java.io.Serializable;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import java.util.List;
public class GenericDAOSpringImpl<T, ID extends Serializable> extends HibernateDaoSupport implements GenericDAO<T, ID> {
public ID save(T newInstance) {
Serializable id = this.getHibernateTemplate().save(newInstance);
this.getHibernateTemplate().flush();//强行的写入数据库
return id;
}
public void remove(T instance) {
this.getHibernateTemplate().delete(instance);
this.getHibernateTemplate().flush();
}
public void update(T instance) {
this.getHibernateTemplate().update(instance);
this.getHibernateTemplate().flush();
}
public List<T> find(T instance) {
return this.getHibernateTemplate().findByExample(instance);
}
}
HibernateTemplate的用法以及作用的更多相关文章
- GCD中的dispatch_apply的用法及作用
GCD中的dispatch_apply的用法及作用 (一)dispatch_apply的基本用法 dispatch_apply函数是dispatch_sync函数和Dispatch Group的关联A ...
- mysql关于视图的用法以及作用
关于视图的用法以及作用. 作用一: 提高了重用性,就像一个函数.如果要频繁获取user的name和goods的name.就应该使用以下sql语言.示例: select a.name as userna ...
- 【private HibernateTemplate template;】 的作用
[private HibernateTemplate template;] 的作用 这个是在spring中定义了一个bean,它是org.springframework.orm.hibernate3. ...
- C/C++中关键字static的用法及作用
本文将主要从static在C和C++共有的作用及C++特有的作用两个方面进行解析. 在C和C++中共有的作用 隐藏(对变量.函数均可) 当同时编译多个文件时,所有未加static前缀的全局变量或全局函 ...
- memset()函数用法及其作用
memset()函数原型是: extern void *memset(void *buffer, int c, int count) //buffer:为指针或是数组, //c:是赋给buffer的值 ...
- mysql游标的用法及作用
1当前有三张表A.B.C其中A和B是一对多关系,B和C是一对多关系,现在需要将B中A表的主键存到C中:常规思路就是将B中查询出来然后通过一个update语句来更新C表就可以了,但是B表中有2000多条 ...
- C# Eval在asp.net中的用法及作用
Eval( " ")和Bind( " ") 这两种一个单向绑定,一个双向绑定,bind是双向绑定,但需数据源支持 ASP.NET 2.0改善了模板中的数据绑定操 ...
- C# Eval在aspx页面中的用法及作用
Eval( " ")和Bind( " ") 这两种一个单向绑定,一个双向绑定,bind是双向绑定,但需数据源支持 ASP.NET 2.0改善了模板中的数据绑定操 ...
- hash在URL上的用法及作用
阅读目录 1. # 2. ? 3. & 回到顶部 1. # 10年9月,twitter改版.一个显著变化,就是URL加入了"#!"符号.比如,改版前的用户主页网址为http ...
随机推荐
- 第37章:MongoDB-集群--Replica Sets(副本集)---单机的搭建
①创建副本集 1:先创建几个存放数据的文件夹,比如在前面的dbs下面创建db1,db2,db3: 同理在前面的logs下面创建logs1,logs2,logs3 2:在启动MongoDB服务器的时候, ...
- Unity3D中播放视频的方法
播放视频其实和贴图非常相像,因为播放视频用到的 MovieTexture 属于贴图 Texture 的子类.Unity3D 支持的视频格式有很多,但是还是建议使用 ogv 格式的视频,使用其他格式依然 ...
- MySQL-5.7安装
2.1 下载mysql 网址:https://www.mysql.com/ [root@localhost ~]# mkdir -p /root/soft/MySQL [root@localhost ...
- issue:ssh自动断开
使用ssh连接云服务器的时候,几分钟不操作terminal就会卡住,实际上ssh连接已经断开了,感觉很不爽.(可能云服务器供应商在系统中做了设置) 解决办法: step1:vim /etc/ssh/s ...
- GitHub(从安装到使用)
一.安装Git for Windows(又名msysgit) 下载地址: https://git-for-windows.github.io/ 在官方下载完后,安装到Windows Explore ...
- Navicat Premium Mac V12.0.22.0 中英文破解 亲测可用
换了Mac电脑后网上找了好些个 Navicat Premium 破解版本, 特别是CSDN上要积分下载的也不能用,浪费积分下,都是些坑爹破解方法,浪费了好些时间,今天介绍看到的一套有效的破解过程 1. ...
- go语言异常处理
go语言异常处理 error接口 go语言引入了一个关于错误错里的标准模式,即error接口,该接口的定义如下: type error interface{ Error() string } 对于要返 ...
- Swift5 语言指南(六) 字符和字符串
甲串是一系列字符,如的或.Swift字符串由类型表示.可以通过各种方式访问a的内容,包括作为值的集合."hello, world""albatross"Stri ...
- LeetCode手记-Add Binary
问题描述 问题分析 分析题意,此题实际是求解两个二进制数的和,但是有两点要注意: 1.字符串的长度不限,所以相应十进制数值很可能会超过int的上限. 2.二进制的加法规则是自右向左进位,需要注意,以题 ...
- js中数字直接点方法会报错,如1.toString()
Number(11).toString() "11" var num = 111; undefined num.toString() "111" .toStri ...