底层方法封装(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电力项目二的更多相关文章

  1. SSH电力项目

    第一步:创建测试表Elec_Text: create table Elec_Text(textID varchar(50) not null primary key,textName varchar( ...

  2. SSH电力项目一 搭建Hibernate框架

    Hibernate所需要的基本文件: ElectText.java ElecText.hbm.xml hibernate.cfg.xml 第一步:创建测试表Elec_Text: create tabl ...

  3. SSH电力项目四-显示首页

    1.登录页面: 将上一节中的页面放到/WEB-INF/page/目录下,需要登录后才能访问该页面: 对应页面:/WEB-INF/page/menu/home.jsp <%@ page langu ...

  4. SSH电力项目三 - Dao层、service层查询实现(HQL)

    底层方法封装:模糊查询,姓张的人 查询思路:select * from elec_text o           #Dao层     where o.textName like '%张%'     ...

  5. SSH电力项目九--运行监控首页显示

    需求:在首页显示出设备运行情况,并去掉<br>换行符,每隔十分钟刷新一次页面. ElecMenuAction.java 首先注入运行监控service public class ElecM ...

  6. SSH框架项目开发命名规范

    SSH 框架项目开发命名规范   一.各层包及类命名规范   总体原则:包名所有字母小写,类名采用 "驼峰标识",具体如下:   1. Action 类      包命名规范:co ...

  7. 搭建ssh框架项目(一)

    一.创建web项目 二.导入jar包 三.创建数据库(MySQL) 四.建立javaBean对象(ElecText.java),属于持久层对象(PO对象) package com.cppdy.ssh. ...

  8. Eclipse+Maven创建webapp项目<二> (转)

    Eclipse+Maven创建webapp项目<二> 1.开启eclipse,右键new——>other,如下图找到maven project 2.选择maven project,显 ...

  9. Vue小项目二手书商城:(四)详情页和购物车(emit、prop、computed)

    实现效果: 点击对应商品,对应的商品详情页出现,详情页里面还有“Add to cart”按钮和“×”退出按钮. 点击“Add to cart”可以将商品加入购物车,每件商品只能添加一次,如果把购物车的 ...

随机推荐

  1. java-事务-案例

    项目结构: 数据库: /* SQLyog Ultimate v12.09 (64 bit) MySQL - 5.5.53 : Database - threadlocal ************** ...

  2. js对数字的校验

    //-----------------------------------------------函数(1):允许输入正数和负数的表达式-------------------------------- ...

  3. JavaScript初学者福利!必须收藏的24条小技巧

    JavaScript初学者福利!必须收藏的24条小技巧 前端小编 发布于 2013-12-15 22:52 查看数: 2343 评论数: 6 帖子模式 这篇文章将回顾JavaScript的知识 !如果 ...

  4. python扩展

    补充一些有趣的知识 1. sys模块方法的补充,打印进度条 import sys,time for i in range(20): sys.stdout.write("#") sy ...

  5. tomcat安装不成功.提示:failed to install tomcat6 service ,check your setting and permissions

    这个问题主要是因为旧版本卸载不完全导致的,可通过彻底删除旧版本解决,方案如下: 以管理员身份运行 命令提示符,弹出窗口 ,选择“是”,输入 sc delete tomcat5 ,或者 sc delet ...

  6. e581. Animating an Array of Images in an Application

    This is the simplest application to animate an array of images. import java.awt.*; import javax.swin ...

  7. iOS推送证书从申请到使用

    关于这个话题,已经有非常多写的非常好的文章了.可是,在自己做的过程中,即使别人写的已经非常好了,还是会遇到这样那样的问题. 自己还是再写一遍吧. 本文记录了从无到有申请证书,到最后可以发出通知.当然, ...

  8. iOS多线程与网络开发之NSOperation

    郝萌主倾心贡献,尊重作者的劳动成果,请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 游戏官方下 ...

  9. 【Java面试题】45 什么是java序列化,如何实现java序列化?或者请解释Serializable接口的作用。

    我们有时候将一个java对象变成字节流的形式传出去或者从一个字节流中恢复成一个java对象,例如,要将java对象存储到硬盘或者传送给网络上的其他计算机,这个过程我们可以自己写代码去把一个java对象 ...

  10. PHP简单的图片上传

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...