SSH整合 完整增删改查 分页 模糊查询

Action层

package com.action;

import java.io.File;
import java.util.List;

import org.apache.commons.io.FileUtils;
import org.apache.struts2.ServletActionContext;

import com.bean.PageBean;
import com.bean.Person;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.service.PersonService;

public class PersonAction extends ActionSupport implements ModelDriven<Person> {
    // 模型驱动
    private Person person = new Person();

    public Person getModel() {
        return person;
    }

    // 声明
    private PersonService personService;

    public PersonService getPersonService() {
        return personService;
    }

    public void setPersonService(PersonService personService) {
        this.personService = personService;
    }

    // 添加
    public String addPerson() throws Exception {
        if (person.getUploadFileName() != null) {
            String path = ServletActionContext.getServletContext().getRealPath("/img");
            File file = new File(path + "/" + person.getUploadFileName());
            FileUtils.copyFile(person.getUpload(), file);
            personService.addPerson(person);
            return "addPerson";
        } else {
            this.addActionError("请上传头像");
            return "input";
        }
    }

    // 声明页码
    private Integer page;

    public Integer getPage() {
        return page;
    }

    public void setPage(Integer page) {
        this.page = page;
    }

    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    // 查询所有
    public String findAll() {
        if (page == null) {
            page = 1;
        }
        PageBean pb = new PageBean();
        // 页码
        pb.setPage(page);
        // 每页显示数据
        Integer tr = 2;
        pb.setTr(tr);
        // 一共有多少数据
        Integer trSum = personService.count(name);
        pb.setTrSum(trSum);
        // 一共有多少页
        Integer pageSum = (int) (Math.ceil(trSum * 1.0) / tr);
        pb.setPageSum(pageSum);
        // 分页的集合
        List<Person> list = personService.findAll(page, tr, name);
        pb.setPlist(list);

        ServletActionContext.getRequest().getSession().setAttribute("pb", pb);
        return "findAll";
    }

    // 声明ids
    private List<Integer> ids;

    public List<Integer> getIds() {
        return ids;
    }

    public void setIds(List<Integer> ids) {
        this.ids = ids;
    }

    // 批量删除
    public String deleteAll() {
        personService.deleteAll(ids);
        return "deleteAll";
    }

}

Service接口

package com.service;

import java.util.List;

import com.bean.Person;

public interface PersonService {
    // 添加
    void addPerson(Person person);

    // 分页 总数据
    Integer count(String name);

    // 分页 查询所有
    List<Person> findAll(Integer page, Integer tr, String username);

    // 批量删除
    void deleteAll(List<Integer> ids);

}
Servcie实现类

package com.service;

import java.util.List;

import com.bean.Person;
import com.dao.PersonDao;

public class PersonServiceimpl implements PersonService {
    // 声明dao层
    private PersonDao personDao;

    public PersonDao getPersonDao() {
        return personDao;
    }

    public void setPersonDao(PersonDao personDao) {
        this.personDao = personDao;
    }

    // 添加
    public void addPerson(Person person) {
        personDao.addPerson(person);
    }

    // 分页 总数据
    public Integer count(String name) {
        return personDao.count(name);
    }

    // 分頁 查询所有
    public List<Person> findAll(Integer page, Integer tr, String username) {
        return personDao.findAll(page, tr, username);
    }

    // 批量删除
    public void deleteAll(List<Integer> ids) {
        personDao.deleteAll(ids);
    }

}


dao接口

package com.dao;

import java.util.List;

import com.bean.Person;

public interface PersonDao {
    // 添加
    void addPerson(Person person);

    // 分页 总数据
    Integer count(String name);

    // 分页 查询所有
    List<Person> findAll(Integer page, Integer tr, String name);

    // 批量删除
    void deleteAll(List<Integer> ids);

}
dao实现类

package com.dao;

import java.util.List;

import org.hibernate.Query;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.bean.Person;

public class PersonDaoimpl extends HibernateDaoSupport implements PersonDao {
    // 添加
    public void addPerson(Person person) {
        this.getHibernateTemplate().save(person);
    }

    // 分页 总数据
    public Integer count(String name) {
        if (name == null || name.equals("")) {
            Query query = this.getSession().createQuery("select count(*) from Person");
            Object obj = query.uniqueResult();
            long x = (long) obj;
            int count = (int) x;
            return count;
        } else {
            Query query = this.getSession()
                    .createQuery("select count(*) from Person where username like '%" +name+ "%'");
            Object obj = query.uniqueResult();
            long x = (long) obj;
            int count = (int) x;
            return count;
        }
    }

    // 分页 查询所有
    public List<Person> findAll(Integer page, Integer tr, String name) {

        if (name == null || name.equals("")) {
            Query query = this.getSession().createQuery("from Person");
            Integer pageStart = (page - 1) * tr;
            query.setFirstResult(pageStart);
            query.setMaxResults(tr);
            List<Person> list = query.list();
            return list;
        } else {
            Query query = this.getSession().createQuery("from Person where username like '%" + name + "%'");
            Integer pageStart = (page - 1) * tr;
            query.setFirstResult(pageStart);
            query.setMaxResults(tr);
            List<Person> list = query.list();
            return list;
        }
    }

    // 批量删除
    public void deleteAll(List<Integer> ids) {
        for (Integer id : ids) {
            Person person = this.getHibernateTemplate().get(Person.class, id);
            this.getHibernateTemplate().delete(person);
        }
    }

}
 

猜你喜欢

转载自blog.csdn.net/XiaoWangTongXuei/article/details/81115863