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”可以将商品加入购物车,每件商品只能添加一次,如果把购物车的 ...
随机推荐
- 分布式下的session处理方式
分布式下的session处理方式 现在的企业级别开发下,分布式的问题是随处可见.今天我们来看看分布式情况下session的处理. 目前的处理方式有以下几种: 1.session黏性.就是说,用户在访问 ...
- 重复数据删除 开源实现 (deduputil) (转)
[dedup util] dedup util是一款开源的轻量级文件打包工具,它基于块级的重复数据删除技术,可以有效缩减数据容量,节省用户存储空间.目前已经在Sourceforge上创建项目,并且源码 ...
- 弄明白html、css3、js这个问题。。。
- ROS 教程之 navigation :在 catkin 环境下创建costmap layer plugin
在做机器人导航的时候,肯定见到过global_costmap和local_costmap.global_costmap是为了全局路径规划服务的,如从这个房间到那个房间该怎么走.local_costma ...
- 【从0開始Tornado建站】整体设计
Tornado是一个非堵塞的webserver,也是python的web框架中很优秀的一款.网上关于django的tutorial许多并且具体,关于tornado的使用就很少了.我想以我从0開始的方式 ...
- mysql数据库要按当天、昨天、前七日、近三十天、季度、年查询
mysql数据库要按当天.昨天.前七日.近三十天.季度.年查询
- 五大移动GPU厂商
<谁能笑傲江湖?移动处理器门派那些事儿>一文中我们把2012年的移动处理器的厂商做了一番介绍,并依照各自的属性给划分了门派.既然把他们称为江湖门派.那么每一个门派总要有自己的绝活.移动处理 ...
- Git高级操作
本文是在Git操作指南基础上衍生出来的高级操作,如果你对git不是很熟悉,建议你先阅读Git操作指南. 一.忽略提交特定文件 如果你不想让一些文件上传到git仓库中,可以让Git忽略特定文件或是目录, ...
- C#设计模式系列:抽象工厂模式(AbstractFactory)
出自:http://www.cnblogs.com/libingql/archive/2012/12/09/2809754.html 1. 抽象工厂模式简介 1.1 定义 抽象工厂(Abstract ...
- UVA 1203 - Argus(优先队列)
UVA 1203 - Argus 题目链接 题意:给定一些注冊命令.表示每隔时间t,运行一次编号num的指令.注冊命令结束后.给定k.输出前k个运行顺序 思路:用优先队列去搞,任务时间作为优先级.每次 ...