- 浏览: 320108 次
文章分类
- 全部博客 (116)
- Oracle (29)
- MySQL (2)
- Java (20)
- .NET (2)
- Javascript (4)
- Spring (6)
- Struts (6)
- Hibernate (16)
- JSP (6)
- Tomcat (1)
- Quartz (2)
- RCS (1)
- Translate (12)
- PL/SQL (5)
- Sqlplus (1)
- System (6)
- Linux (11)
- Ubuntu (9)
- Windows (10)
- Mac (2)
- Tools (8)
- Mercurial (1)
- Google Code (1)
- Subversion (1)
- Debian (2)
- Freemarker (6)
- Web (2)
- PHP (1)
- Nginx (1)
最新评论
-
sunday1207:
private Class getParameterizedT ...
java 中 BaseDao 在Hibernate中的用法 -
SkimSkim:
你这里的解压是把文件夹11下面的所有文件都放在ins这个文件夹 ...
ubuntu 在终端使用 sqlplus 连接远程数据库 -
as619864232:
漫步邃思 写道其实常用的就那么几个命令,大部分都用不到的是啊, ...
windows cmd 命令 -
漫步邃思:
其实常用的就那么几个命令,大部分都用不到的
windows cmd 命令
import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; import java.util.List; import org.hibernate.Session; import org.hibernate.SessionFactory; public abstract class BaseDao<T> { private SessionFactory sessionFactory; private Class clazz; public BaseDao() { super(); clazz = getParameterizedTypeByParent(super.getClass()); } private Class getParameterizedTypeByParent(Class clazz) { Type tp = clazz.getGenericSuperclass(); if (tp instanceof ParameterizedType) { return (Class) ((ParameterizedType) tp).getActualTypeArguments()[0]; } else { throw new ClassCastException("this is not ParameterizedType type"); } } public SessionFactory getSessionFactory() { return sessionFactory; } public void setSessionFactory(SessionFactory sessionFactory) { this.sessionFactory = sessionFactory; } public List findAll() { List results = getSession().createCriteria(clazz).list(); return results; } public T findById(Integer id) { T result = (T) getSession().get(clazz, id); return result; } public void update(T obj) { getSession().save(obj); } private Session getSession() { return sessionFactory.getCurrentSession(); } }
评论
1 楼
sunday1207
2015-05-24
private Class getParameterizedTypeByParent(Class clazz) {
Type tp = clazz.getGenericSuperclass();
if (tp instanceof ParameterizedType) {
return (Class) ((ParameterizedType) tp).getActualTypeArguments()[0];
} else {
---直接在车里报异常了如何处理
throw new ClassCastException("this is not ParameterizedType type");
}
}
Type tp = clazz.getGenericSuperclass();
if (tp instanceof ParameterizedType) {
return (Class) ((ParameterizedType) tp).getActualTypeArguments()[0];
} else {
---直接在车里报异常了如何处理
throw new ClassCastException("this is not ParameterizedType type");
}
}
发表评论
-
JDK 对应数字版本号
2013-08-01 17:22 1248J2SE 7 = 51 (0x33 hex),J2SE 6.0 ... -
Hibernate 中拼接 HQL 乱码
2012-10-19 20:06 1455hql=" ... like '%中文%'" ... -
error 和 exception 之间的区别
2012-10-13 09:21 1038很多程序员不清楚error和exception之间的区别,这区 ... -
Hibernate 缓存机制
2012-10-09 23:40 1012缓存是位于应用程序与物理数据源之间,用于临时存放复制数据的内存 ... -
使用 Java 遍历二叉树
2012-10-03 20:09 1270在计算机科学中,二叉树是每个节点最多有两个子树的树结构 ... -
Spring 中事务的传播性
2012-09-17 20:46 919在 Spring 中一共定义了 ... -
J2EE 全面简介
2012-07-19 13:04 876刘湛 (jeru@163.net), 武汉 ... -
OpenSessionInViewFilter 的一些了解
2012-07-16 20:55 976Spring 中的 OpenSessionInViewFil ... -
设计模式
2012-07-16 17:42 990《设计模式》一书原先把设计模式分为创建型模式、结构型模式、行为 ... -
ServletContext 以及 ServletConfig 和 ServletContextListener 的一些理解
2012-07-15 00:12 1482当 Servlet 容器启动的时候,会读取 web.xml 中 ... -
Quartz 中的一些细节
2012-07-12 19:10 841JobDetail 中有一个 JobDataMap,而 Tri ... -
Hibernate 注册方言以及时间精度
2012-07-12 19:09 1228Oracle 10G 的 JDBC 驱动在 JAVA 中 ... -
Quartz Cron 表达式支持到七个域及实例
2012-07-12 19:07 1655名称 是否必须 允许值 特殊字符 秒 ... -
在 Linux 下安装 JDK 和设置 JAVA 环境变量
2012-07-08 16:16 1752I know lot of you starting o ... -
Spring 中自带的事务管理
2012-06-30 15:16 1094Spring 集成 hibernate 的事务管理,不用我们手 ... -
在 Spring 中自己管理 Hibernate 事务
2012-06-30 14:51 1083在spring中自己控制事物 ... -
hibernate 中 SQLFunctionTemplate 类的翻译
2012-05-13 13:34 1854org.hibernate.dialect.funct ... -
Hibernate 中 SQLFunction 类的翻译
2012-05-13 13:27 1189org.hibernate.dialect.funct ... -
Java Matcher 翻译
2012-05-11 19:09 1035java.util.regex Class Mat ... -
Java Pattern 翻译
2012-05-09 20:18 1085java.util.regex Class Pattern ...
相关推荐
spring4+hibernate4 整合,封装BaseDao增删改查以及分页,,支持jdk1.7,不支持jdk1.8,数据源使用c3p0
对hibernate里面的方法进行合理的封装,使用到java的泛型及java的反射技术;有利于减少代码,加快开发速度!
使用方法,以用户添加为例: 1、定义User类,并提供get和set方法。 2、定义IUserDao接口,使其继承IBaseDao并传入泛型。若提供的方法不满足需求, 可以在此接口中定义自己的业务方法,然后在IUserDao的实现类中 通过...
博客文章 【SSH学习笔记】整合spring3-hibernate的小项目(一) 配套资源 需求分析: ...2、使用BaseDao获取注入SessionFactory并返回Session 3、实现查询所有和按字符串查询的方法 4、使用JUNIT测试
在web层和dao层都提取了公共代码封装到BaseAction和BaseDao中,提高了代码的复用,同时按照OO设计原则,针对接口编程,而不是针对实现编程。 使用拦截器的方法对系统权限进行初步控制(后续可以采用Shiro框架进行...
在web层和dao层都提取了公共代码封装到BaseAction和BaseDao中,提高了代码的复用性,同时遵循OO设计原则,接口是针对编程的,而不是针对实现编程的。 使用拦截器的方法对系统权限进行初步控制(后续可以采用Shiro...
只需呼叫FacadeForDAO.findModel(表名)方法,在表名参数给出实际数据库中表的名称就可以返回一个包含对应POJO类的对象的集合--非常简单--输入表名得到Java对象的集合,然后根据需要使用这些对象。 给客户端代码方式...
博客文章 【SSH学习笔记】整合spring3-hibernate的小项目(二) ...2、使用BaseDao获取注入SessionFactory并返回Session 3、用generic接口及其实现类,实现泛型化的查询所有和按字符串查询的方法 4、使用JUNIT测试
用过hibernate的朋友们都知道,有个强大的东西叫 JPA,还有个...代码中尽量减少使用了第三方的 jar 包,基本上是愿生的代码,避免朋友们因为jar包发愁,也没有使用maven管理,就是一个java项目,只要有java环境即可运行
友情链接及网页访问量统计显示:在博客的个人页面中还提供了推荐给普通网络用户的相关友情链接,此外,对个人页面的访问量也在随时进行统计,并在个人页面中进行直观的显示。 博客主页面的用例图如图3所示: 图3 ...
Hibernate的对象化关联处理确实挺强大,但是使用起来坑太多,有多少人敢在项目 中大范围使用真不知道,屠龙刀不是人人都提的起啊。 2、mybatis:轻量级,基于xml的模式感觉不利于封装,代码量不小,基于xml维护也...