注册 登录
编程论坛 J2EE论坛

ssh框架 求BaseDao代码

蓝色石头 发布于 2011-04-07 13:12, 1593 次点击
刚刚开始搭建架构.以前代码没有带.求BaseDao代码以做参考!

今天下午没人回.我自己来回复
3 回复
#2
HarrisonWang2011-04-07 22:33
可以考虑自己写哈,那个什么BaseDao也是别人写的,只是封装了一些常用的方法而已。
如果实在需要可以考虑用Hibernate自带的HibernateTemplate类或者HibernateSupportDao类,不知道类名有没有拼错!有段时间没用Hibernate了。
#3
蓝色石头2011-04-08 15:50
哎。。弄出来了
==============================================
package com.cls.dao;

public interface BaseDao<T,S> {
    public void save(T entity);

    public void deleteById(S PK);

    public void delete(T entity);
   
    public void update(T entity);
   
    public T findById(S PK);
}
===============================================
package com.cls.daoimpl;

import

import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.classic.Session;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;

import sun.security.action.GetBooleanAction;

import com.cls.dao.BaseDao;

public class BaseDaoImpl<T, S extends Serializable> implements BaseDao<T, S> {

    protected Class entityClass;
    private SessionFactory sessionFactory;
    ApplicationContext apc = new FileSystemXmlApplicationContext(
            "/WEB-INF/classes/applicationContext.xml");

    public void setSessionFactory(SessionFactory sessionFactory) {
        this.sessionFactory = (SessionFactory) apc.getBean("sessionFactory");
    }

    public void delete(T entity) {
        Session session = sessionFactory.openSession();
        Transaction tx = session.beginTransaction();
        session.delete(entity);
        session.close();
        ();
    }

    public void deleteById(S PK) {
        Session session = sessionFactory.openSession();
        Transaction tx = session.beginTransaction();
        T t = (T) session.get(this.entityClass, PK);
        session.delete(t);
        ();
    }

    public T findById(S PK) {
        Session session = sessionFactory.openSession();
        Transaction tx = session.beginTransaction();
        T t = (T) session.get(this.entityClass, PK);
        return t;
    }

    public void save(T entity) {
        Session session = sessionFactory.openSession();
        Transaction tx = session.beginTransaction();
        session.save(entity);
        ();
    }

    public void update(T entity) {
        Session session = sessionFactory.openSession();
        Transaction tx = session.beginTransaction();
        session.update(entity);
        ();
    }

}
====================================================
#4
HarrisonWang2011-04-08 18:26
你这个BaseDao功能挺少的。。。
1