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); }
}
SSH电力项目二的更多相关文章
- SSH电力项目
		
第一步:创建测试表Elec_Text: create table Elec_Text(textID varchar(50) not null primary key,textName varchar( ...
 - SSH电力项目一 搭建Hibernate框架
		
Hibernate所需要的基本文件: ElectText.java ElecText.hbm.xml hibernate.cfg.xml 第一步:创建测试表Elec_Text: create tabl ...
 - SSH电力项目四-显示首页
		
1.登录页面: 将上一节中的页面放到/WEB-INF/page/目录下,需要登录后才能访问该页面: 对应页面:/WEB-INF/page/menu/home.jsp <%@ page langu ...
 - SSH电力项目三 - Dao层、service层查询实现(HQL)
		
底层方法封装:模糊查询,姓张的人 查询思路:select * from elec_text o #Dao层 where o.textName like '%张%' ...
 - SSH电力项目九--运行监控首页显示
		
需求:在首页显示出设备运行情况,并去掉<br>换行符,每隔十分钟刷新一次页面. ElecMenuAction.java 首先注入运行监控service public class ElecM ...
 - SSH框架项目开发命名规范
		
SSH 框架项目开发命名规范 一.各层包及类命名规范 总体原则:包名所有字母小写,类名采用 "驼峰标识",具体如下: 1. Action 类 包命名规范:co ...
 - 搭建ssh框架项目(一)
		
一.创建web项目 二.导入jar包 三.创建数据库(MySQL) 四.建立javaBean对象(ElecText.java),属于持久层对象(PO对象) package com.cppdy.ssh. ...
 - Eclipse+Maven创建webapp项目<二> (转)
		
Eclipse+Maven创建webapp项目<二> 1.开启eclipse,右键new——>other,如下图找到maven project 2.选择maven project,显 ...
 - Vue小项目二手书商城:(四)详情页和购物车(emit、prop、computed)
		
实现效果: 点击对应商品,对应的商品详情页出现,详情页里面还有“Add to cart”按钮和“×”退出按钮. 点击“Add to cart”可以将商品加入购物车,每件商品只能添加一次,如果把购物车的 ...
 
随机推荐
- 微信分享SDK
			
网址:http://www.8ru.org/weixin-js-sdk.html 下载demo:http://demo.open.weixin.qq.com/jssdk
 - [mysql] 关联查询sql记录
			
//查询账单关联订单 select o.id as id, o.order_no as orderNo, o.case_no as caseNo, o.send_time as sendTime, o ...
 - 关于Nginx里面的配置文件里面的location参数的意思
			
location是指当遇到这个单词的时候,把root改成大括号里面的值,再把单词和后面的路径加上root变成总的文件路径进行搜索,如果没有location,直接把root加上域名后面的路径变成总的文件 ...
 - 关于用Spine制作骨骼动画的步骤
			
步骤: 1.打开spine. 2.新建一个空项目. 3.点右边Tree下的Images模块,导入在自己的切片素材和原整图. 4.把原整图拖到场景中,点右下角Color改变原图的颜色,方便后面对照. 5 ...
 - 【转】WCF入门教程三[WCF的宿主]
			
一.WCF服务应用程序与WCF服务库 我们在平时开发的过程中常用的项目类型有“WCF 服务应用程序”和“WCF服务库”. WCF服务应用程序,是一个可以执行的程序,它有独立的进程,WCF服务类契约的定 ...
 - C++ 类的隐式转换
			
所谓类的隐式转换,就是将实参类型转成形参类型--如果不一致的话. 这个转换与基本类型转换不太一样,具体则是在形参类型的构造函数中使用实参类型的数据,从而构造出一个临时对象. 下面的代码,类Person ...
 - IOC关注服务(或应用程序部件)是如何定义的以及他们应该如何定位他们依赖的其它服务
			
IOC关注服务(或应用程序部件)是如何定义的以及他们应该如何定位他们依赖的其它服务.通常,通过一个容器或定位框架来获得定义和定位的分离,容器或定位框架负责: 保存可用服务的集合 提供一种方式将各种部件 ...
 - (转)S5pv210 HDMI 接口在 Linux 3.0.8 驱动框架解析 (By liukun321 咕唧咕唧)
			
作者:liukun321 咕唧咕唧 日期:2014.1.18 转载请标明作者.出处:http://blog.csdn.net/liukun321/article/details/18452663 本文 ...
 - javascript -- 判断是否为某个数据类型
			
为何不用其他方法,因为下面的写法考虑了各种兼容性.判断是否为数组isArray = function (source) { return '[object Array]' == Object.p ...
 - 【Java面试题】34 List 、Map、Set 区别?
			
一.Set是最简单的一种集合.集合中的对象不按特定的方式排序,并且没有重复对象. Set接口主要实现了两个实现类: HashSet: HashSet类按照哈希算法来存取集合中的对象,存取速度比较快 T ...