hibernate,增删改查,工具,接口,实现

增删改查的工具Dao:

package com.jfkj.utils;

import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

public abstract class BaseDao {
    //获得Session工厂
    private static SessionFactory factory;
    static{
        //读取配置文件
        Configuration cfg = new Configuration().configure("hibernate.cfg.xml");
        //获得Session工厂factory
        factory= cfg.buildSessionFactory();
    }
    /*
     添加对象
      **/
    public Boolean commonAdd(Object obj){
        //获得Session对象
        Session session = factory.openSession();
        //获得事务对象
        Transaction tc = session.beginTransaction();
        //设置返回对象
        Boolean flg = false;
        try {
            //保存对象
            session.save(obj);
            //提交事务
            tc.commit();
            //设置返回值
            flg = true;
        } catch (Exception e) {
            //保存失败回滚
            tc.rollback();
        } finally {
            //关闭Session
            session.close();
        }
            
        return flg;
        
    }
    /*
     修改数据
     * */
    public Boolean commonUpdate(Object obj){
        //获得Session对象
        Session session = factory.openSession();
        //获得事务对象
        Transaction tc = session.beginTransaction();
        //设置返回对象
        Boolean flg = false;
        try {
            //修改对象
            session.update(obj);
            //提交事务
            tc.commit();
            //设置返回值
            flg = true;
        } catch (Exception e) {
            //保存失败回滚
            tc.rollback();
        } finally {
            //关闭Session
            session.close();
        }
            
        return flg;
        
    }
    
    //删除数据
    public Boolean commonDelete(Object obj){
        //获得Session对象
        Session session = factory.openSession();
        //获得事务对象
        Transaction tc = session.beginTransaction();
        //设置返回对象
        Boolean flg = false;
        try {
            //删除对象
            session.delete(obj);
            //提交事务
            tc.commit();
            //设置返回值
            flg = true;
        } catch (Exception e) {
            //保存失败回滚
            tc.rollback();
            
        } finally {
            //关闭Session
            session.close();
        }
            
        return flg;
        
    }
    //查询数据
    public List commonQuery(String hql,Object ...obj){
        //获得Session对象
        Session session = factory.openSession();
        //创建Query对象
        Query query = session.createQuery(hql);
        //设置替代参数
        if(!(obj == null)){
            for (int i = 0; i < obj.length; i++) {
                query.setParameter(i, obj[i]);
            }
        }
        
        return query.list();
        
    }
    
    public Object commongetentity(Class cls,int id){
        //获得Session对象
        Session session = factory.openSession();
        Object obj = session.get(cls, id);
        session.close();
        return obj;
        }
}

 

具体实体的增删改查的抽象类:

package com.jfkj.Dao.emp;

import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

import com.jfkj.entity.City;

public interface ICityInterface {
    //添加数据
    public Boolean CityAdd(City obj);
    /*
     修改数据
     * */
    public Boolean CityUpdate(City obj);
    
    //删除数据
    public Boolean CityDelete(City obj);
    //查询数据
    public List CityQuery(String hql,Object ...obj);
    
    //查询实体对象
    public City getentity(Class City,int id);
}

/实体类增删改查的具体实现:

package com.jfkj.Dao.emp;

import java.util.List;

import com.jfkj.entity.City;
import com.jfkj.utils.BaseDao;

public class CityEmpDao extends BaseDao implements ICityInterface{
    @Override
    public City getentity(Class cls, int id) {
        // TODO Auto-generated method stub
        return (City) commongetentity(cls, id);
    }
    //添加数据
    @Override
    public Boolean CityAdd(City obj) {
        return commonAdd(obj);
    }
    //修改数据
    @Override
    public Boolean CityUpdate(City obj) {
        return commonUpdate(obj);
    }
    //删除数据
    @Override
    public Boolean CityDelete(City obj) {
        return commonDelete(obj);
    }
    //查询数据
    @Override
    public List CityQuery(String hql, Object... obj) {
        return commonQuery(hql, obj);
    }

}

 

posted @ 2019-04-25 17:15  细竹赫映姬  阅读(69)  评论(0)    收藏  举报