ssm根据条件查询分页,后台分页

ssm后台条件查询分页

源码地址点击打开链接

1.dao层

OnuDetailedInfoMapper

package com.onu.dao.awave;



import java.util.List;




import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.onu.entity.awave.OnuDetailedInfo;



public interface OnuDetailedInfoMapper extends BaseDao<OnuDetailedInfo>  {
//根据条件分页
List<OnuDetailedInfo> selectOnuInfo(Map<String, Object> map);
	/**
	 * 根据条件查询总条数
	 * @param map
	 * @return
	 */
	int count(Map<String, Object> map);
	
}
2.mapper.xml 

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.onu.dao.awave.OnuDetailedInfoMapper">



 

	<!-- 根据条件分页查询光交箱 -->
	<select id="selectOnuInfo" resultType="OnuDetailedInfo"
	>
	SELECT o.name,o.addr,o.uploadTime,o.longitude,r.region_name,o.latitude,o.onunumber,o.onuid,o.deviceid FROM onuinfo o,region r where o.areaid = r.id
<if test="id!=null and id!=0">
and (r.id=#{id} or r.pid=#{id} or r.region_level=#{id})
</if>
<if test="name!=null and name!=''">
and o.name like concat('%',#{name},'%') 
</if>
 <if test="onlineStatus != null ">
and o.onlineStatus=#{onlineStatus}
</if>
<if test="startTime != null and endTime!=null">
 and o.uploadtime BETWEEN #{startTime} and #{endTime}
</if>

<if test="start!=null">
 	limit #{start},10
 </if>
 
	</select>
	
	
	<!-- 查询条数 -->
	 <select id="count" resultType="int"  >
 SELECT count(*) FROM onuinfo o , region r where o.areaid = r.id
<if test="id!=null and id!=0">
and (r.id=#{id} or r.pid=#{id} or r.region_level=#{id})
</if>
<if test="name!=null and name!=''">
and o.name like concat('%',#{name},'%') 
</if>
 <if test="onlineStatus != null ">
and o.onlineStatus=#{onlineStatus}
</if>
<if test="startTime != null and endTime!=null">
 and o.uploadtime between #{startTime} and #{endTime}
</if>
</select>

</mapper>
3.service层

package com.onu.service.awave;

import java.beans.IntrospectionException;
import java.io.InputStream;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.aspectj.weaver.patterns.PerSingleton;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;

import com.mysql.jdbc.PreparedStatement.ParseInfo;
import com.onu.common.util.ExcelBean;
import com.onu.common.util.ExcelUtils;
import com.onu.common.util.JqGridReturn;
import com.onu.common.util.JqReturnJson;
import com.onu.dao.awave.OnuDetailedInfoMapper;
import com.onu.dao.awave.RegionMapper;
import com.onu.entity.awave.OnuDetailedInfo;
import com.onu.entity.awave.Region;

import freemarker.core.ParseException;
/**
 * 
 * @author penghui.li
 * @param 光交箱service
 *
 */

@Service
public class OnuDetailedInfoService {
	@Autowired
	OnuDetailedInfoMapper onuDetailedInfoMapper;
	@Autowired
	RegionMapper regionMapper;
	

	public List<OnuDetailedInfo>  selectOnu(){
		return onuDetailedInfoMapper.selectOnu();
		
	}
	/**
	 * 根据条件查询
	 * @param onuNumber
	 * @param deviceId
	 * @param name
	 * @return
	 */
	public 	List<OnuDetailedInfo> selectByCondition(Map<String, Object> map){
		
		
		return onuDetailedInfoMapper.selectByCondition(map);
		
	}
	
	/**
	 * 分页查询
	 * @return
	 */
	public JqGridReturn selectOnuInfo(Map<String, Object> map){
		
		List<OnuDetailedInfo> list=onuDetailedInfoMapper.selectOnuInfo(map);
		JqGridReturn jq=new JqGridReturn();
		jq.setRows(list);
		jq.setTotal(count(map));
		jq.setTotolPage((jq.getTotal()/jq.getPageSize()+1));
		return jq;
		
	}
		/**
	 * 查询总条数
	 * @param map
	 * @return
	 */
public	int count(Map<String, Object> map){
	
	return onuDetailedInfoMapper.count(map);
	 
}

}

4.controller

package com.onu.controller.awave;

import java.io.BufferedOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import javax.annotation.Resource;




import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;





import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;

import com.onu.common.util.JqGridReturn;
import com.onu.common.util.JqReturnJson;
import com.onu.entity.awave.OnuDetailedInfo;
import com.onu.service.awave.OnuDetailedInfoService;


/**
 * 光交箱管理controller
 * @author penghui.li
 *
 */
@Controller
@RequestMapping("/awave")
public class OnuDetailedInfoController {
@Resource
private OnuDetailedInfoService onuDetailedInfoService;

@RequestMapping("/selectOnu")
@ResponseBody
public Object selectOnu()
{
	return onuDetailedInfoService.selectOnu();
}

/**
 * 根据条件分页查询
 * @param start
 * @param id
 * @param name
 * @param onlineStatus
 * @param startTime
 * @param endTime
 * @return
 */
@RequestMapping("/selectOnuInfo")
@ResponseBody
public JqGridReturn selectOnuInfo(Integer start,Integer id,String name,String onlineStatus,String startTime,String endTime)
{
	Map<String, Object> map = new HashMap<String, Object>();
	if(name!=null&&!name.equals("")){
		try {
			String sname= new String(name.getBytes("ISO8859-1"), "UTF-8");
			map.put("name", sname);
		
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
	if(onlineStatus!=null&&!onlineStatus.equals("")){
	String onlineStatus1;
	try {
		onlineStatus1 = new String(onlineStatus.getBytes("ISO8859-1"), "UTF-8");
		map.put("onlineStatus", onlineStatus1);
		System.out.println(onlineStatus1);
	} catch (UnsupportedEncodingException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
		
	}
	
	if(id!=null&&!id.equals("0")){
		map.put("id", id);
	
	}
	if(startTime!=null){
		
		
		map.put("startTime", startTime);

	System.out.println(startTime);
	}
	if(endTime!=null){
		map.put("endTime", endTime);


		System.out.println(endTime);
	}
	if (start!=null) {
		if (start<=0) {
			start=1;
		}
		map.put("start", (start-1)*10);
	}else{
		map.put("start", 0);
	}
	
	JqGridReturn jq=new JqGridReturn();
	
	
	 jq=onuDetailedInfoService.selectOnuInfo(map);
	
	
	return jq;
}
  
}
帮助类JqGridReturn 

package com.onu.common.util;

import java.util.ArrayList;
import java.util.List;

import org.apache.commons.lang.builder.ToStringBuilder;


/**
 * @ClassName: JqGridReturn 
 * @Description: TODO(JQuery Grid返回对象) 
 * @author awave
 */
@SuppressWarnings("rawtypes")
public class JqGridReturn {
    /**
     * 总共条数
     */
    private int total = 0;
    
    /**
     * 当前页数
     */
    private int p = 1;

    /**
     * 内容数据
     */
    private List<?> rows = new ArrayList();

    /**
     * 脚表头数�?
     */
    private List<?> footer = new ArrayList();

    private int totolPage;

    private int pageSize=10;

    public JqGridReturn() {
    }

    public JqGridReturn(int total, int p, List<?> rows, List<?> footer, int totolPage, int pageSize) {
        this.total = total;
        this.p = p;
        this.rows = rows;
        this.footer = footer;
        this.totolPage = totolPage;
        this.pageSize = pageSize;
    }

    public int getTotal() {
        return total;
    }

    public void setTotal(int total) {
        this.total = total;
    }

    public int getP() {
        return p;
    }

    public void setP(int p) {
        this.p = p;
    }

    public List<?> getRows() {
        return rows;
    }

    public void setRows(List<?> rows) {
        this.rows = rows;
    }

    public List<?> getFooter() {
        return footer;
    }

    public void setFooter(List<?> footer) {
        this.footer = footer;
    }

    public int getTotolPage() {
        return totolPage;
    }

    public void setTotolPage(int totolPage) {
        this.totolPage = totolPage;
    }

    public int getPageSize() {
        return pageSize;
    }

    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }
}


猜你喜欢

转载自blog.csdn.net/wota5037/article/details/78615475
今日推荐