ssm根据条件查询分页,后台分页
2017-11-23 16:21
344 查看
ssm后台条件查询分页
源码地址点击打开链接
1.dao层
OnuDetailedInfoMapper
<?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
源码地址点击打开链接
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; } }
相关文章推荐
- hibernate(jpa)根据实体动态生成查询条件,并实现分页问题的解决方案
- thinkphp 根据查询条件分页
- springmvc 带查询条件的分页,form的控制范围,怎么包裹条件提交给后台
- 毕业设计(十三)---后台用户管理(3)之- 带查询条件 分页查找方法
- 根据id查询所有子节点/父节点,mysql 以及ssm前后台处理流程
- mysql按字段根据某条件去重 nohup挂后台无法输出日志 系统时间查询 2016.05.18回顾
- springmvc 带查询条件的分页,form的控制范围,怎么包裹条件提交给后台
- SSM项目-医药采购-03 根据条件查询用户信息
- 毕业设计(十三)---后台用户管理(3)之- 带查询条件 分页查找方法
- springmvc 带查询条件的分页,form的控制范围,怎么包裹条件提交给后台
- ecshop后台根据条件查询后不填充table 返回的json数据,content为空?
- 根据已经加载好的datagrid数据,通过条件查询进行重新根据查询的条件进行加载:(无需通过后台再次查询)
- SSH框架利用注解方式实现根据多条件动态分页查询图书信息(传对象)
- EasyUi+Spring Data 实现按条件分页查询
- 根据多条件查询临时表 想得到不同结果集的方法
- mybatis分页条件查询动态sql
- Hibernate动态条件查询并分页
- 分页查询--前台HTML+后台asp.net代码
- IBatis按条件分页查询
- 根据条件选择(逗号分割的绑定)后台的绑定