zoukankan      html  css  js  c++  java
  • SSH电力项目二

    底层方法封装(CommonDaoImpl类)

    public class CommonDaoImpl<T>  extends HibernateDaoSupport implements ICommonDao<T> {
    
        //泛型转化
        Class entityClass = TUtils.getActualType(this.getClass());
        /**
         * 如何来实现这个save方法:通过HibernateDaoSupport 来实现,需要注入sessionFactory
         */
        @Resource
        public void setDi(SessionFactory sessionFactory){
            this.setSessionFactory(sessionFactory);
        }
        @Override
        public void save(T entity) {
            this.getHibernateTemplate().save(entity);
        }
    
        public void update(T entity){
            this.getHibernateTemplate().update(entity);
        }
        @Override
        public T findObjectById(Serializable id) {
    //        Class entityClass = TUtils.getActualType(this.getClass());
            return (T) this.getHibernateTemplate().get(entityClass, id);   //entityClass 此处需要类型
        }
        @Override
        public void deleteObjectByIds(Serializable... ids) {
            if(ids != null && ids.length > 0){
                for(Serializable id:ids){
                    Object entity = this.findObjectById(id);
                    this.getHibernateTemplate().delete(entity);
                }
            }
    //        this.getHibernateTemplate().delete(entity);
        }
        @Override
        public void deleteObjectByCollection(List<T> list) {
                this.getHibernateTemplate().deleteAll(list);
        }
    }

     测试类:

    package junit;
    
    import java.io.Serializable;
    import java.util.ArrayList;
    import java.util.Date;
    import java.util.List;
    
    import org.junit.Test;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    import com.itheima.elec.bean.ElecText;
    import com.itheima.elec.dao.IElecTextDao;
    
    public class TestDao {
    
        @Test
        public void save(){
            //加载spring容器
            ApplicationContext ac = new ClassPathXmlApplicationContext("beans.xml");
            IElecTextDao elecTextDao =  (IElecTextDao) ac.getBean(IElecTextDao.SERVICE_NAME);
            
            ElecText elecText = new ElecText();
            elecText.setTextName("aaaaaaaaaa");
            elecText.setTextDate(new Date());
            elecText.setTextRemark("aaaaaaaaaaaaaaa test");
            
            elecTextDao.save(elecText);
        }
        
        @Test
        public void update(){
            ApplicationContext ac = new ClassPathXmlApplicationContext("beans.xml");
            IElecTextDao elecTextDao = (IElecTextDao) ac.getBean(IElecTextDao.SERVICE_NAME);
            
            ElecText elecText = new ElecText();
            elecText.setTextID("8a80809359876a330159876a365b0001");
            elecText.setTextName("TestDaoupdate");
            elecText.setTextDate(new Date());
            elecText.setTextRemark("TestDao test update");
            
            elecTextDao.update(elecText);
            
        }
        
        @Test
        public void findObjectById(){
            ApplicationContext ac = new ClassPathXmlApplicationContext("beans.xml");
            IElecTextDao elecTextDao = (IElecTextDao) ac.getBean(IElecTextDao.SERVICE_NAME);
            Serializable id = "8a80809359876a330159876a365b0001";
            ElecText elecText= elecTextDao.findObjectById(id);
            System.out.println(elecText.getTextName() + "+" + elecText.getTextRemark());
        }
        @Test
        public void deleteObjectByIds(){
            ApplicationContext ac = new ClassPathXmlApplicationContext("beans.xml");
            IElecTextDao elecTextDao = (IElecTextDao) ac.getBean(IElecTextDao.SERVICE_NAME);
    //        Serializable ids = "297e3503598229df0159822ac8000001";
            Serializable[] ids = {"297e3503598229df0159822ac8000001","297e35035985f149015985f1ea770001"};
            elecTextDao.deleteObjectByIds(ids);
        }
        
        @Test 
        public void deleteObjectByCollection(){
            ApplicationContext ac = new ClassPathXmlApplicationContext("beans.xml");
            IElecTextDao elecTextDao = (IElecTextDao) ac.getBean(IElecTextDao.SERVICE_NAME);
            
            List<ElecText> list = new ArrayList<ElecText>();
            ElecText elecText1 = new ElecText();
            elecText1.setTextID("297e350359873d030159873d7ab20001");
            
            ElecText elecText2 = new ElecText();
            elecText2.setTextID("8a80809359876a330159876a365b0001");
            
            ElecText elecText3 = new ElecText();
            elecText3.setTextID("8a8080935987d7c5015987d7c8d40001");
            
            list.add(elecText1);
            list.add(elecText2);
            list.add(elecText3);
            
            elecTextDao.deleteObjectByCollection(list);
            
        }
    }  
  • 相关阅读:
    关于sql json数据的处理
    时间函数strtotime的强大
    /usr/bin/install: cannot create regular file `/usr/local/jpeg6/include/jconfig.h'
    linux安装php7.2.7
    关于sql时间方面的处理
    关于centos防火墙的一些问题
    linux 安装ssl 失败原因
    linux安装php7.2.7
    拾取坐标和反查询接口api
    【转】通过点击获取地址等信息、可以传值
  • 原文地址:https://www.cnblogs.com/taiguyiba/p/6270381.html
Copyright © 2011-2022 走看看