通用Dao 代码增删改查

 1 com.dao包下
 2 import java.io.Serializable;
 3 import java.util.List;
 4 
 5 import com.page.PageInfo;
 6 import com.vo.Categorys;
 7 
 8 public interface Dao {
 9     //增加
10     public void add(Object object);
11     //删除
12     public void delete(Object object);
13     //修改
14     public void update(Object object);
15     //查1 get
16     public Object getObjectById(Class clazz,Serializable id);
17     //查1 load
18     public Object loadObjectById(Class clazz,Serializable id);
19     //按sql语句查
20     public List<Object> getPageByQuery(String hql);
21     //分页
22     public List<Object> getPageByQuery(String hql,PageInfo pageInfo);
23 }
package com.dao.impl;

import java.io.Serializable;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.ScrollableResults;
import org.hibernate.Session;
import org.hibernate.Transaction;



import com.dao.inter.Dao;
import com.page.PageInfo;
import com.util.SessionUtil;
import com.vo.Categorys;
import com.vo.Products;

public class DaoImpl implements Dao{

    private Session session;
    
    public DaoImpl(){
        session=SessionUtil.getSession();
    }
    
    public void add(Object object) {
        Transaction tx=session.beginTransaction();
        try{
        session.save(object);
    
        tx.commit();
        System.out.println("商品保存成功");
        }catch(HibernateException e){
            tx.rollback();
            e.printStackTrace();
            System.out.println("商品保存失败");
        }finally{
            session.close();
            
        }
    }

    
    public void delete(Object object) {
        Transaction tx=session.beginTransaction();
        try{
        session.delete(object);
        tx.commit();
        System.out.println("删除商品成功");
        }catch(HibernateException e){
            tx.rollback();
            System.out.println("删除商品失败");
        }finally{
            session.close();
            
        }
        
        
    }

    public void update(Object object) {
        Transaction tx =session.beginTransaction();
        try{
        session.update(object);
        tx.commit();
        System.out.println("增加商品成功");
        }catch(HibernateException e){
            tx.rollback();
            System.out.println("增加商品失败");
        }finally{
            session.close();
            
        }
    }
    
    public Object getObjectById(Class clazz,Serializable id) {
            Object object=null;
            
            object=session.get(clazz,id);
            //session.clear();
        return object;
    }
    
    public Object loadObjectById(Class clazz,Serializable id) {
        Object object=null;
        object = (Object)session.load(clazz,id);
        return object;
    }
    
    @SuppressWarnings(value = "all")
    public List<Object> getPageByQuery(String hql) {
        List<Object> list=null;
        
        Query query=session.createQuery(hql);
        list=(List<Object>)query.list();
        System.out.println("查询商品");
        return list;
    }
    
    public List<Object> getPageByQuery(String hql,PageInfo pageInfo){
        List<Object> list=null;
        Query query=session.createQuery(hql);
        ScrollableResults rs=query.scroll();
        rs.last();
        int count=rs.getRowNumber();
        pageInfo.setTotalRecrodCount(count+1);
        query.setFirstResult(pageInfo.getBegin()-1);
        query.setMaxResults(pageInfo.getPerPageRecordCount());
        list=(List<Object>)query.list();
        session.clear();
        return list;
    }

package com.page;

public class PageInfo {
    
    private int totalRecrodCount;//一共有多少条记录
    private int perPageRecordCount = 5;//每页有多少条
    private int requestPage;//请求第几页
    
    private int begin;//从第几条开始查
    private int end;//查到第几条结束
    
    private int currentPage;//当前是第几页
    
    private int totalPageCount;//共几页
    
    private int firstPage = 1;//首页
    
    public int getTotalPageCount() {
        return totalPageCount;
    }

    public void setTotalPageCount(int totalPageCount) {
        this.totalPageCount = totalPageCount;
    }

    public PageInfo(){
        
    }
    
    public PageInfo(int requestPage){
        this.requestPage = requestPage;
        
        //begin=(请求第几页-1)*每页多少条记录+1
        begin=(requestPage-1)*perPageRecordCount+1;
        //end= 请求第几页*每页多少条记录
        end = requestPage*perPageRecordCount;
    }

    public int getTotalRecrodCount() {
        return totalRecrodCount;
    }

    public void setTotalRecrodCount(int totalRecrodCount) {
        this.totalRecrodCount = totalRecrodCount;
        this.compterTotalPageCountByTotalRecordCount();
    }
    

    public int getPerPageRecordCount() {
        return perPageRecordCount;
    }

    public void setPerPageRecordCount(int perPageRecordCount) {
        this.perPageRecordCount = perPageRecordCount;
    }

    public int getRequestPage() {
        return requestPage;
    }

    public void setRequestPage(int requestPage) {
        this.requestPage = requestPage;
    }

    public int getBegin() {
        return begin;
    }

    public void setBegin(int begin) {
        this.begin = begin;
    }

    public int getEnd() {
        return end;
    }

    public void setEnd(int end) {
        this.end = end;
    }

    public int getCurrentPage() {
        return currentPage;
    }

    public void setCurrentPage(int currentPage) {
        this.currentPage = currentPage;
    }
    
    public void compterTotalPageCountByTotalRecordCount(){
        //totalPageCount = 总页数%每页多少条==0?总页数/每页多少条:(总页数/每页多少条)+1
        this.totalPageCount = totalRecrodCount%perPageRecordCount==0?totalRecrodCount/perPageRecordCount:(totalRecrodCount/perPageRecordCount)+1;
    }    
}

 

转载于:https://www.cnblogs.com/xupeijiao/p/3424244.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值