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”可以将商品加入购物车,每件商品只能添加一次,如果把购物车的 ...
随机推荐
- java-关于getClass().getClassLoader()
源地址:http://blog.sina.com.cn/s/blog_6ec6be0e01011xof.html InputStream is = getClass().getClassLoader( ...
- windows server 2003中用系统自带工具调整磁盘分区大小
先在需要扩展的右边留出未分配的磁盘空间,可以通过 我的电脑 右键 管理 磁盘管理来操作 首先 进入cmd界面 然后输入Diskpart 这个时候进入DISKPART> 界面 然后你 先选择磁盘一 ...
- RTMP规范 消息与消息块
Real Time Messaging Protocol(实时消息传输协议) 应用层协议 RTMP协议中, 基本数据单元称为消息(Message).当RTMP协议在互联网中传输数据的时候,消息会被拆分 ...
- 用javascript将数据导入Excel
网上收集的代码 <input type="button" name="out_excel" onclick="AutomateExcel();& ...
- 【转】MFC CreateFont 用法
中国人自古就有自右至左.从上到下书写汉字的习惯.而当我们在自己所编写的应用程序中使用输出函数输出的总是自左至右的横排文字.有没有可能在我们的应用程序中实现竖写汉字的效果呢?笔者偶然发现了一种利用VC实 ...
- vector push_back报错
场景:定义了一个结构体,包含一个vector的成员变量,在给这个vTQ push_back数据的时候报错. typedef struct tag_TQInfo { int iTime; int iMa ...
- centos7命令总结
1,查看cpu信息 lscpu 2,网络配置 ip route 查看路由 nmcli nmcli connection show 显示所有连接 nmcli connection show ...
- MySQL数据库行去重复
1.创立数据表
- IOS URL scheme
常用URL scheme查询 http://handleopenurl.com/scheme QQ: mqq://新浪微博: weibo:// (sinaweibo://)腾讯微博: tencentw ...
- C语言中,为什么字符串可以赋值给字符指针变量
转载于:http://www.cnblogs.com/KingOfFreedom/archive/2012/12/07/2807223.html 本文是通过几篇转帖的文章整理而成的,内容稍有修改: 一 ...