您的位置:首页 > 其它

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

2017-11-23 16:21 344 查看
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;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息