spring+hibernate4整合dao
2014-04-10 16:59
423 查看
1: package org.ssh2test1.dao;
2:
3: import java.io.Serializable;
4: import java.util.List;
5:
6: import org.hibernate.Criteria;
7: import org.hibernate.Session;
8: import org.hibernate.SessionFactory;
9: import org.hibernate.criterion.Criterion;
10: import org.springframework.context.ApplicationContext;
11: import org.springframework.context.support.ClassPathXmlApplicationContext;
12: import org.ssh2test1.utils.ReflectionUtils;
13:
14:
15: public class HibernateBaseDao<T, ID extends Serializable> {
16: private Class<T> entityClass;
17:
18: private static SessionFactory sessionFactory;
19: private static Session session ;
20:
21: static {
22: String[] configLocations = new String[] {"classpath:applicationContext-*.xml"};
23: ApplicationContext ctx = new ClassPathXmlApplicationContext(configLocations);
24: sessionFactory = ctx.getBean("sessionFactory",SessionFactory.class);
25: }
26:
27:
28: public static Session getSession() {
29: return sessionFactory.openSession();
30: }
31:
32: public HibernateBaseDao() {
33: entityClass = ReflectionUtils.getSuperClassGenricType(getClass());
34: }
35:
36: public Criteria createCriteria(Criterion... criterions) {
37: Criteria criteria = this.getSession().createCriteria(entityClass);
38: for (Criterion criterion : criterions) {
39: criteria.add(criterion);
40: }
41: return criteria;
42: }
43:
44: public List<T> getAll(Criterion... criterions) {
45: return createCriteria(criterions).list();
46: }
47:
48: public T getById(ID id) {
49: return (T) this.getSession().get(entityClass, id);
50: }
51:
52: public void save(Object entity) {
53: this.getSession().save(entity);
54: }
55:
56: }
57:
相关文章推荐
- Java 在不知道Array长度的情况下 动态构造String Array
- 解决: org.springframework.beans.factory.BeanNotOfRequiredTypeException办法
- JAVA中什么时候要用super
- Eclipse中如何修改SVN的地址
- Eclipse的team下的 SVN update to HEAD 和 Synchronize with repository 的区别
- java.net.BindException: Address already in use: JVM_Bind
- JAVA SSH 框架介绍
- java内存查看与分析
- java.lang.IllegalArgumentException: Can't convert argument: null
- Java数组
- 深入理解JVM内幕:从基本结构到Java 7新特性
- maven mina spring 集成应用
- JAVAFX的TableView的单元格可编辑
- Java连接本地MySQL数据库进行增删改查操作
- Java入门--认识理解Java中native方法
- spring bean autowire自动装配
- ocr 部署到服务器产生的异常at javax.imageio.spi.FilterIterator.next(Unknown Source)等
- Java(二分查找算法实现,分别使用递归和非递归方式)
- Description Resource Path Location Type Java compiler level does not match the version of the insta
- bubble,insert,select三种排序的java实现