目录
一.前言
二.MyBatis 的分页
三.MyBatis 的特殊字符处理
一.前言
继上篇MyBatis 的文章,我们继续来学习MyBatis吧!!! 上篇的博客链接: http://t.csdn.cn/5iUEDhttp://t.csdn.cn/5iUED 接下来进入我们的正文吧!!!
二.MyBatis 的分页
导入pom文件,分页插件,需要借助这些来完成分页
pom.xml配置文件:
<!--分页--><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>5.1.2</version></dependency>
Mybatis.cfg.xml配置拦截器:
<plugins> |
配置分页工具类:
package com.zking.Utils;import java.io.Serializable;
import java.util.Map;import javax.servlet.http.HttpServletRequest;public class PageBean implements Serializable {private static final long serialVersionUID = 2422581023658455731L;//页码private int page=1;//每页显示记录数private int rows=10;//总记录数private int total=0;//是否分页private boolean isPagination=true;//上一次的请求路径private String url;//获取所有的请求参数private Map<String,String[]> map;public PageBean() {super();}//设置请求参数public void setRequest(HttpServletRequest req) {String page=req.getParameter("page");String rows=req.getParameter("rows");String pagination=req.getParameter("pagination");this.setPage(page);this.setRows(rows);this.setPagination(pagination);this.url=req.getContextPath()+req.getServletPath();this.map=req.getParameterMap();}public String getUrl() {return url;}public void setUrl(String url) {this.url = url;}public Map<String, String[]> getMap() {return map;}public void setMap(Map<String, String[]> map) {this.map = map;}public int getPage() {return page;}public void setPage(int page) {this.page = page;}public void setPage(String page) {if(null!=page&&!"".equals(page.trim()))this.page = Integer.parseInt(page);}public int getRows() {return rows;}public void setRows(int rows) {this.rows = rows;}public void setRows(String rows) {if(null!=rows&&!"".equals(rows.trim()))this.rows = Integer.parseInt(rows);}public int getTotal() {return total;}public void setTotal(int total) {this.total = total;}public void setTotal(String total) {this.total = Integer.parseInt(total);}public boolean isPagination() {return isPagination;}public void setPagination(boolean isPagination) {this.isPagination = isPagination;}public void setPagination(String isPagination) {if(null!=isPagination&&!"".equals(isPagination.trim()))this.isPagination = Boolean.parseBoolean(isPagination);}/*** 获取分页起始标记位置* @return*/public int getStartIndex() {//(当前页码-1)*显示记录数return (this.getPage()-1)*this.rows;}/*** 末页* @return*/public int getMaxPage() {int totalpage=this.total/this.rows;if(this.total%this.rows!=0)totalpage++;return totalpage;}/*** 下一页* @return*/public int getNextPage() {int nextPage=this.page+1;if(this.page>=this.getMaxPage())nextPage=this.getMaxPage();return nextPage;}/*** 上一页* @return*/public int getPreivousPage() {int previousPage=this.page-1;if(previousPage<1)previousPage=1;return previousPage;}@Overridepublic String toString() {return "PageBean [page=" + page + ", rows=" + rows + ", total=" + total + ", isPagination=" + isPagination+ "]";}
}
Mapper.xml文件:
测试:
三.MyBatis 的特殊字符处理
要创建一个Dto包,这个是用来传参数的,比如还有一些像:pojo/entity/model 是用来放实体类的;VO--view object 是视图对象,是用来展示 java.util.Map;还有就是Dto 是用来接受参数的。
Dto 包,来接受分页的开始条目和结束条目的参数:
package com.zking.dto;import com.zking.model.Book;/*** @author yinzi* @create 2023-08-24 15:11*/
public class BookDto extends Book {private float min;private float max;public float getMin() {return min;}public void setMin(float min) {this.min = min;}public float getMax() {return max;}public void setMax(float max) {this.max = max;}}