UNPKG

@shixinde/vuepress-theme-init

Version:
134 lines (133 loc) 43.3 kB
import{_ as n,c as s,o as a,a as p}from"./app-Dx9bNbfq.js";const t={},e=p(`<h1 id="yxd总结" tabindex="-1"><a class="header-anchor" href="#yxd总结"><span>yxd总结</span></a></h1><h2 id="首先在-pom-xml-文件中导入包" tabindex="-1"><a class="header-anchor" href="#首先在-pom-xml-文件中导入包"><span>首先在 pom.xml 文件中导入包</span></a></h2><div class="language-xml line-numbers-mode" data-highlighter="prismjs" data-ext="xml" data-title="xml"><pre class="language-xml"><code><span class="line"><span class="token comment">&lt;!--pagehelper--&gt;</span> </span> <span class="line"><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>dependency</span><span class="token punctuation">&gt;</span></span></span> <span class="line"> <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>groupId</span><span class="token punctuation">&gt;</span></span>com.github.pagehelper<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>groupId</span><span class="token punctuation">&gt;</span></span></span> <span class="line"> <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>artifactId</span><span class="token punctuation">&gt;</span></span>pagehelper-spring-boot-starter<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>artifactId</span><span class="token punctuation">&gt;</span></span></span> <span class="line"> <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>version</span><span class="token punctuation">&gt;</span></span>1.4.7<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>version</span><span class="token punctuation">&gt;</span></span></span> <span class="line"><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>dependency</span><span class="token punctuation">&gt;</span></span></span> <span class="line"></span> <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="如果是低版本的-springboot-框架-使用这个" tabindex="-1"><a class="header-anchor" href="#如果是低版本的-springboot-框架-使用这个"><span>如果是低版本的 springboot 框架 使用这个</span></a></h2><div class="language-xml line-numbers-mode" data-highlighter="prismjs" data-ext="xml" data-title="xml"><pre class="language-xml"><code><span class="line"><span class="token comment">&lt;!--pagehelper--&gt;</span></span> <span class="line"><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>dependency</span><span class="token punctuation">&gt;</span></span></span> <span class="line"> <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>groupId</span><span class="token punctuation">&gt;</span></span>com.github.pagehelper<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>groupId</span><span class="token punctuation">&gt;</span></span></span> <span class="line"> <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>artifactId</span><span class="token punctuation">&gt;</span></span>pagehelper<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>artifactId</span><span class="token punctuation">&gt;</span></span></span> <span class="line"> <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>version</span><span class="token punctuation">&gt;</span></span>5.0.0<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>version</span><span class="token punctuation">&gt;</span></span></span> <span class="line"><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>dependency</span><span class="token punctuation">&gt;</span></span></span> <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="就可以在serviceimpl-实现类中使用了" tabindex="-1"><a class="header-anchor" href="#就可以在serviceimpl-实现类中使用了"><span>就可以在serviceImpl 实现类中使用了</span></a></h2><blockquote><p>startPage 用来接收 前端传递过来的参数</p><p>然后就可以通过 <code>PageInfo&lt;【封装数据的类型 可能是一个 PageHelper 泛型】&gt; employeePageInfo = new PageInfo&lt;&gt;(【需要根据需求进行封装的数据】);</code>来进行接收了</p></blockquote><div class="language-java line-numbers-mode" data-highlighter="prismjs" data-ext="java" data-title="java"><pre class="language-java"><code><span class="line"> <span class="token keyword">public</span> <span class="token class-name">AjaxResult</span> <span class="token function">getUsers</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span></span> <span class="line"> <span class="token class-name">PageHelper</span><span class="token punctuation">.</span><span class="token function">startPage</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">10</span><span class="token punctuation">)</span><span class="token punctuation">;</span></span> <span class="line"> <span class="token class-name">List</span><span class="token generics"><span class="token punctuation">&lt;</span><span class="token class-name">Employee</span><span class="token punctuation">&gt;</span></span> employees <span class="token operator">=</span> employeeMapper<span class="token punctuation">.</span><span class="token function">getUsers</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span></span> <span class="line"> <span class="token class-name">PageInfo</span><span class="token generics"><span class="token punctuation">&lt;</span><span class="token class-name">Employee</span><span class="token punctuation">&gt;</span></span> employeePageInfo <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">PageInfo</span><span class="token generics"><span class="token punctuation">&lt;</span><span class="token punctuation">&gt;</span></span><span class="token punctuation">(</span>employees<span class="token punctuation">)</span><span class="token punctuation">;</span></span> <span class="line"></span> <span class="line"> <span class="token keyword">return</span> <span class="token class-name">AjaxResult</span><span class="token punctuation">.</span><span class="token function">success</span><span class="token punctuation">(</span>employeePageInfo<span class="token punctuation">)</span><span class="token punctuation">;</span></span> <span class="line"> <span class="token punctuation">}</span></span> <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h1 id="吴俊楠总结" tabindex="-1"><a class="header-anchor" href="#吴俊楠总结"><span>吴俊楠总结</span></a></h1><p>PageHelper简介:**是国内非常优秀的一款开源的<a href="https://so.csdn.net/so/search?q=mybatis&amp;spm=1001.2101.3001.7020" target="_blank" rel="noopener noreferrer">mybatis</a>分页插件,它支持基本主流与常用的数据库,例如mysql、oracle、mariaDB、DB2、SQLite、Hsqldb等。</p><p>作用:简化分页查询,支持多种关系型数据库的分页查询</p><p>1.引入pagehelper依赖</p><div class="language-java line-numbers-mode" data-highlighter="prismjs" data-ext="java" data-title="java"><pre class="language-java"><code><span class="line"><span class="token operator">&lt;</span><span class="token operator">!</span><span class="token operator">--</span>pagehelper<span class="token operator">--</span><span class="token operator">&gt;</span></span> <span class="line"> <span class="token generics"><span class="token punctuation">&lt;</span>dependency<span class="token punctuation">&gt;</span></span></span> <span class="line"> <span class="token generics"><span class="token punctuation">&lt;</span>groupId<span class="token punctuation">&gt;</span></span>com<span class="token punctuation">.</span>github<span class="token punctuation">.</span>pagehelper<span class="token operator">&lt;</span><span class="token operator">/</span>groupId<span class="token operator">&gt;</span></span> <span class="line"> <span class="token generics"><span class="token punctuation">&lt;</span>artifactId<span class="token punctuation">&gt;</span></span>pagehelper<span class="token operator">&lt;</span><span class="token operator">/</span>artifactId<span class="token operator">&gt;</span></span> <span class="line"> <span class="token generics"><span class="token punctuation">&lt;</span>version<span class="token punctuation">&gt;</span></span><span class="token number">5.0</span><span class="token number">.0</span><span class="token operator">&lt;</span><span class="token operator">/</span>version<span class="token operator">&gt;</span></span> <span class="line"> <span class="token operator">&lt;</span><span class="token operator">/</span>dependency<span class="token operator">&gt;</span></span> <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>2.通过核心配置文件整合pagehelper</p><div class="language-java line-numbers-mode" data-highlighter="prismjs" data-ext="java" data-title="java"><pre class="language-java"><code><span class="line"><span class="token operator">&lt;</span><span class="token operator">!</span><span class="token operator">--</span>在typeAliases的下方添加pagehelper的拦截器<span class="token operator">--</span><span class="token operator">&gt;</span></span> <span class="line"><span class="token generics"><span class="token punctuation">&lt;</span>plugins<span class="token punctuation">&gt;</span></span></span> <span class="line"> <span class="token operator">&lt;</span>plugin interceptor<span class="token operator">=</span><span class="token string">&quot;com.github.pagehelper.PageInterceptor&quot;</span><span class="token operator">&gt;</span><span class="token operator">&lt;</span><span class="token operator">/</span>plugin<span class="token operator">&gt;</span></span> <span class="line"><span class="token operator">&lt;</span><span class="token operator">/</span>plugins<span class="token operator">&gt;</span></span> <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>3.BrandMapper层添加接口方法</p><div class="language-java line-numbers-mode" data-highlighter="prismjs" data-ext="java" data-title="java"><pre class="language-java"><code><span class="line"> <span class="token class-name">List</span><span class="token generics"><span class="token punctuation">&lt;</span><span class="token class-name">Brand</span><span class="token punctuation">&gt;</span></span> <span class="token function">selectByPageAndCondition2</span><span class="token punctuation">(</span><span class="token class-name">Brand</span> brand<span class="token punctuation">)</span><span class="token punctuation">;</span></span> <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>3.1映射配置文件中添加查询Sql</p><div class="language-xml line-numbers-mode" data-highlighter="prismjs" data-ext="xml" data-title="xml"><pre class="language-xml"><code><span class="line"><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>select</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>selectByPageAndCondition2<span class="token punctuation">&quot;</span></span> <span class="token attr-name">resultMap</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>brandResultMap<span class="token punctuation">&quot;</span></span><span class="token punctuation">&gt;</span></span></span> <span class="line"> select *</span> <span class="line"> from tb_brand</span> <span class="line"> <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>where</span><span class="token punctuation">&gt;</span></span></span> <span class="line"> <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>if</span> <span class="token attr-name">test</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>brandName != null and brandName != &#39;&#39; <span class="token punctuation">&quot;</span></span><span class="token punctuation">&gt;</span></span></span> <span class="line"> and brand_name like #{brandName}</span> <span class="line"> <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>if</span><span class="token punctuation">&gt;</span></span></span> <span class="line"></span> <span class="line"> <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>if</span> <span class="token attr-name">test</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>companyName != null and companyName != &#39;&#39; <span class="token punctuation">&quot;</span></span><span class="token punctuation">&gt;</span></span></span> <span class="line"> and company_name like #{companyName}</span> <span class="line"> <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>if</span><span class="token punctuation">&gt;</span></span></span> <span class="line"></span> <span class="line"> <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>if</span> <span class="token attr-name">test</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>status != null<span class="token punctuation">&quot;</span></span><span class="token punctuation">&gt;</span></span></span> <span class="line"> and status = #{status}</span> <span class="line"> <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>if</span><span class="token punctuation">&gt;</span></span></span> <span class="line"></span> <span class="line"> <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>where</span><span class="token punctuation">&gt;</span></span></span> <span class="line"> <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>select</span><span class="token punctuation">&gt;</span></span></span> <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>4.分页插件的基本使用:在调用dao层查询方法前调用**PageHelper.startPage(当前页,每页显示条数)**该方法,分页插件自动计算起始位置,添加limit实现分页查询;并自动生成查询总条数的sql</p><p>4.1 BrandService接口中添加分页方法</p><div class="language-java line-numbers-mode" data-highlighter="prismjs" data-ext="java" data-title="java"><pre class="language-java"><code><span class="line"><span class="token comment">//service</span></span> <span class="line"><span class="token class-name">PageInfo</span><span class="token generics"><span class="token punctuation">&lt;</span><span class="token class-name">Brand</span><span class="token punctuation">&gt;</span></span> <span class="token function">selectByPageAndCondition2</span><span class="token punctuation">(</span><span class="token keyword">int</span> currentPage<span class="token punctuation">,</span> <span class="token keyword">int</span> pageSize<span class="token punctuation">,</span> <span class="token class-name">Brand</span> brand<span class="token punctuation">)</span><span class="token punctuation">;</span></span> <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><p>4.2 BrandServiceImpl重写该方法</p><div class="language-java line-numbers-mode" data-highlighter="prismjs" data-ext="java" data-title="java"><pre class="language-java"><code><span class="line"><span class="token annotation punctuation">@Override</span></span> <span class="line"> <span class="token keyword">public</span> <span class="token class-name">PageInfo</span><span class="token generics"><span class="token punctuation">&lt;</span><span class="token class-name">Brand</span><span class="token punctuation">&gt;</span></span> <span class="token function">selectByPageAndCondition2</span><span class="token punctuation">(</span><span class="token keyword">int</span> currentPage<span class="token punctuation">,</span> <span class="token keyword">int</span> pageSize<span class="token punctuation">,</span> <span class="token class-name">Brand</span> brand<span class="token punctuation">)</span> <span class="token punctuation">{</span></span> <span class="line"> <span class="token comment">//2. 获取SqlSession对象</span></span> <span class="line"> <span class="token class-name">SqlSession</span> sqlSession <span class="token operator">=</span> factory<span class="token punctuation">.</span><span class="token function">openSession</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span></span> <span class="line"> <span class="token comment">//3. 获取BrandMapper</span></span> <span class="line"> <span class="token class-name">BrandMapper</span> mapper <span class="token operator">=</span> sqlSession<span class="token punctuation">.</span><span class="token function">getMapper</span><span class="token punctuation">(</span><span class="token class-name">BrandMapper</span><span class="token punctuation">.</span><span class="token keyword">class</span><span class="token punctuation">)</span><span class="token punctuation">;</span></span> <span class="line"></span> <span class="line"> <span class="token comment">// 处理brand条件,模糊表达式</span></span> <span class="line"> <span class="token class-name">String</span> brandName <span class="token operator">=</span> brand<span class="token punctuation">.</span><span class="token function">getBrandName</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span></span> <span class="line"> <span class="token keyword">if</span> <span class="token punctuation">(</span>brandName <span class="token operator">!=</span> <span class="token keyword">null</span> <span class="token operator">&amp;&amp;</span> brandName<span class="token punctuation">.</span><span class="token function">length</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">&gt;</span> <span class="token number">0</span><span class="token punctuation">)</span> <span class="token punctuation">{</span></span> <span class="line"> brand<span class="token punctuation">.</span><span class="token function">setBrandName</span><span class="token punctuation">(</span><span class="token string">&quot;%&quot;</span> <span class="token operator">+</span> brandName <span class="token operator">+</span> <span class="token string">&quot;%&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span></span> <span class="line"> <span class="token punctuation">}</span></span> <span class="line"></span> <span class="line"> <span class="token class-name">String</span> companyName <span class="token operator">=</span> brand<span class="token punctuation">.</span><span class="token function">getCompanyName</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span></span> <span class="line"> <span class="token keyword">if</span> <span class="token punctuation">(</span>companyName <span class="token operator">!=</span> <span class="token keyword">null</span> <span class="token operator">&amp;&amp;</span> companyName<span class="token punctuation">.</span><span class="token function">length</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">&gt;</span> <span class="token number">0</span><span class="token punctuation">)</span> <span class="token punctuation">{</span></span> <span class="line"> brand<span class="token punctuation">.</span><span class="token function">setCompanyName</span><span class="token punctuation">(</span><span class="token string">&quot;%&quot;</span> <span class="token operator">+</span> companyName <span class="token operator">+</span> <span class="token string">&quot;%&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span></span> <span class="line"> <span class="token punctuation">}</span></span> <span class="line"></span> <span class="line"> <span class="token class-name">PageHelper</span><span class="token punctuation">.</span><span class="token function">startPage</span><span class="token punctuation">(</span>currentPage<span class="token punctuation">,</span>pageSize<span class="token punctuation">)</span><span class="token punctuation">;</span></span> <span class="line"> <span class="token comment">//5. 查询当前页数据</span></span> <span class="line"> <span class="token class-name">List</span><span class="token generics"><span class="token punctuation">&lt;</span><span class="token class-name">Brand</span><span class="token punctuation">&gt;</span></span> rows <span class="token operator">=</span> mapper<span class="token punctuation">.</span><span class="token function">selectByPageAndCondition2</span><span class="token punctuation">(</span>brand<span class="token punctuation">)</span><span class="token punctuation">;</span></span> <span class="line"></span> <span class="line"> <span class="token comment">//8. 释放资源</span></span> <span class="line"> sqlSession<span class="token punctuation">.</span><span class="token function">close</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span></span> <span class="line"></span> <span class="line"> <span class="token keyword">return</span> <span class="token keyword">new</span> <span class="token class-name">PageInfo</span><span class="token generics"><span class="token punctuation">&lt;</span><span class="token class-name">Brand</span><span class="token punctuation">&gt;</span></span><span class="token punctuation">(</span>rows<span class="token punctuation">)</span><span class="token punctuation">;</span></span> <span class="line"> <span class="token punctuation">}</span></span> <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>4.3 BrandServlet层调用service层实现分页查询</p><div class="language-java line-numbers-mode" data-highlighter="prismjs" data-ext="java" data-title="java"><pre class="language-java"><code><span class="line"><span class="token keyword">public</span> <span class="token keyword">void</span> <span class="token function">selectByPageAndCondition2</span><span class="token punctuation">(</span><span class="token class-name">HttpServletRequest</span> request<span class="token punctuation">,</span> <span class="token class-name">HttpServletResponse</span> response<span class="token punctuation">)</span> <span class="token keyword">throws</span> <span class="token class-name">ServletException</span><span class="token punctuation">,</span> <span class="token class-name">IOException</span> <span class="token punctuation">{</span></span> <span class="line"> <span class="token comment">//1. 接收 当前页码 和 每页展示条数 url?currentPage=1&amp;pageSize=5</span></span> <span class="line"> <span class="token class-name">String</span> _currentPage <span class="token operator">=</span> request<span class="token punctuation">.</span><span class="token function">getParameter</span><span class="token punctuation">(</span><span class="token string">&quot;currentPage&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span></span> <span class="line"> <span class="token class-name">String</span> _pageSize <span class="token operator">=</span> request<span class="token punctuation">.</span><span class="token function">getParameter</span><span class="token punctuation">(</span><span class="token string">&quot;pageSize&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span></span> <span class="line"></span> <span class="line"> <span class="token keyword">int</span> currentPage <span class="token operator">=</span> <span class="token class-name">Integer</span><span class="token punctuation">.</span><span class="token function">parseInt</span><span class="token punctuation">(</span>_currentPage<span class="token punctuation">)</span><span class="token punctuation">;</span></span> <span class="line"> <span class="token keyword">int</span> pageSize <span class="token operator">=</span> <span class="token class-name">Integer</span><span class="token punctuation">.</span><span class="token function">parseInt</span><span class="token punctuation">(</span>_pageSize<span class="token punctuation">)</span><span class="token punctuation">;</span></span> <span class="line"></span> <span class="line"> <span class="token comment">// 获取查询条件对象</span></span> <span class="line"> <span class="token class-name">BufferedReader</span> br <span class="token operator">=</span> request<span class="token punctuation">.</span><span class="token function">getReader</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span></span> <span class="line"> <span class="token class-name">String</span> params <span class="token operator">=</span> br<span class="token punctuation">.</span><span class="token function">readLine</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span><span class="token comment">//json字符串</span></span> <span class="line"></span> <span class="line"> <span class="token comment">//转为 Brand</span></span> <span class="line"> <span class="token class-name">Brand</span> brand <span class="token operator">=</span> <span class="token constant">JSON</span><span class="token punctuation">.</span><span class="token function">parseObject</span><span class="token punctuation">(</span>params<span class="token punctuation">,</span> <span class="token class-name">Brand</span><span class="token punctuation">.</span><span class="token keyword">class</span><span class="token punctuation">)</span><span class="token punctuation">;</span></span> <span class="line"></span> <span class="line"> <span class="token comment">//2. 调用service查询</span></span> <span class="line"> <span class="token class-name">PageInfo</span><span class="token generics"><span class="token punctuation">&lt;</span><span class="token class-name">Brand</span><span class="token punctuation">&gt;</span></span> pageBean <span class="token operator">=</span> brandService<span class="token punctuation">.</span><span class="token function">selectByPageAndCondition2</span><span class="token punctuation">(</span>currentPage<span class="token punctuation">,</span>pageSize<span class="token punctuation">,</span>brand<span class="token punctuation">)</span><span class="token punctuation">;</span></span> <span class="line"></span> <span class="line"> <span class="token comment">//2. 转为JSON</span></span> <span class="line"> <span class="token class-name">String</span> jsonString <span class="token operator">=</span> <span class="token constant">JSON</span><span class="token punctuation">.</span><span class="token function">toJSONString</span><span class="token punctuation">(</span>pageBean<span class="token punctuation">)</span><span class="token punctuation">;</span></span> <span class="line"> <span class="token comment">//3. 写数据</span></span> <span class="line"> response<span class="token punctuation">.</span><span class="token function">setContentType</span><span class="token punctuation">(</span><span class="token string">&quot;text/json;charset=utf-8&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span></span> <span class="line"> response<span class="token punctuation">.</span><span class="token function">getWriter</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">write</span><span class="token punctuation">(</span>jsonString<span class="token punctuation">)</span><span class="token punctuation">;</span></span> <span class="line"> <span class="token punctuation">}</span></span> <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>PS:PageInfo类是pagehelper提供的,重点记忆(total,list)中存的数据是什么</p><div class="language-java line-numbers-mode" data-highlighter="prismjs" data-ext="java" data-title="java"><pre class="language-java"><code><span class="line"><span class="token comment">//当前页</span></span> <span class="line"><span class="token keyword">private</span> <span class="token keyword">int</span> pageNum<span class="token punctuation">;</span></span> <span class="line"><span class="token comment">//每页的数量</span></span> <span class="line"><span class="token keyword">private</span> <span class="token keyword">int</span> pageSize<span class="token punctuation">;</span></span> <span class="line"><span class="token comment">//当前页的数量</span></span> <span class="line"><span class="token keyword">private</span> <span class="token keyword">int</span> size<span class="token punctuation">;</span></span> <span class="line"></span> <span class="line"><span class="token comment">//由于startRow和endRow不常用,这里说个具体的用法</span></span> <span class="line"><span class="token comment">//可以在页面中&quot;显示startRow到endRow 共size条数据&quot;</span></span> <span class="line"></span> <span class="line"><span class="token comment">//当前页面第一个元素在数据库中的行号</span></span> <span class="line"><span class="token keyword">private</span> <span class="token keyword">int</span> startRow<span class="token punctuation">;</span></span> <span class="line"><span class="token comment">//当前页面最后一个元素在数据库中的行号</span></span> <span class="line"><span class="token keyword">private</span> <span class="token keyword">int</span> endRow<span class="token punctuation">;</span></span> <span class="line"><span class="token comment">//总记录数</span></span> <span class="line"><span class="token keyword">private</span> <span class="token keyword">long</span> total<span class="token punctuation">;</span></span> <span class="line"><span class="token comment">//总页数</span></span> <span class="line"><span class="token keyword">private</span> <span class="token keyword">int</span> pages<span class="token punctuation">;</span></span> <span class="line"><span class="token comment">//结果集(当前页要展示的数据)</span></span> <span class="line"><span class="token keyword">private</span> <span class="token class-name">List</span><span class="token generics"><span class="token punctuation">&lt;</span><span class="token class-name">T</span><span class="token punctuation">&gt;</span></span> list<span class="token punctuation">;</span></span> <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>5.前端页面修改</p><div class="language-javascript line-numbers-mode" data-highlighter="prismjs" data-ext="js" data-title="js"><pre class="language-javascript"><code><span class="line"><span class="token function">axios</span><span class="token punctuation">(</span><span class="token punctuation">{</span></span> <span class="line"> <span class="token literal-property property">method</span><span class="token operator">:</span><span class="token string">&quot;post&quot;</span><span class="token punctuation">,</span></span> <span class="line"> <span class="token literal-property property">url</span><span class="token operator">:</span><span class="token string">&quot;http://localhost:8080/brand-case/brand/selectByPageAndCondition2?currentPage=&quot;</span><span class="token operator">+</span><span class="token keyword">this</span><span class="token punctuation">.</span>currentPage<span class="token operator">+</span><span class="token string">&quot;&amp;pageSize=&quot;</span><span class="token operator">+</span><span class="token keyword">this</span><span class="token punctuation">.</span>pageSize<span class="token punctuation">,</span></span> <span class="line"> <span class="token literal-property property">data</span><span class="token operator">:</span><span class="token keyword">this</span><span class="token punctuation">.</span>brandSearch</span> <span class="line"> <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">then</span><span class="token punctuation">(</span><span class="token parameter">resp</span> <span class="token operator">=&gt;</span><span class="token punctuation">{</span></span> <span class="line"> <span class="token comment">//设置表格数据</span></span> <span class="line"> <span class="token keyword">this</span><span class="token punctuation">.</span>tableData <span class="token operator">=</span> resp<span class="token punctuation">.</span>data<span class="token punctuation">.</span>list<span class="token punctuation">;</span> <span class="token comment">// {list:[],total:100,...}</span></span> <span class="line"> <span class="token comment">//设置总记录数</span></span> <span class="line"> <span class="token keyword">this</span><span class="token punctuation">.</span>totalCount <span class="token operator">=</span> resp<span class="token punctuation">.</span>data<span class="token punctuation">.</span>total<span class="token punctuation">;</span></span> <span class="line"> <span class="token punctuation">}</span><span class="token punctuation">)</span></span> <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div>`,30),l=[e];function c(o,i){return a(),s("div",null,l)}const r=n(t,[["render",c],["__file","分页插件使用.html.vue"]]),k=JSON.parse('{"path":"/Java/%E5%88%86%E9%A1%B5%E6%8F%92%E4%BB%B6%E4%BD%BF%E7%94%A8.html","title":"Java 分页插件","lang":"zh-CN","frontmatter":{"title":"Java 分页插件","date":"2023-5-21","tags":["Java","插件"],"categories":["自学篇"]},"headers":[{"level":2,"title":"首先在 pom.xml 文件中导入包","slug":"首先在-pom-xml-文件中导入包","link":"#首先在-pom-xml-文件中导入包","children":[]},{"level":2,"title":"如果是低版本的 springboot 框架 使用这个","slug":"如果是低版本的-springboot-框架-使用这个","link":"#如果是低版本的-springboot-框架-使用这个","children":[]},{"level":2,"title":"就可以在serviceImpl 实现类中使用了","slug":"就可以在serviceimpl-实现类中使用了","link":"#就可以在serviceimpl-实现类中使用了","children":[]}],"git":{"updatedTime":1727229103000,"contributors":[{"name":"袁果锅","email":"2914310412@qq.com","commits":1}]},"filePathRelative":"Java/分页插件使用.md","excerpt":"\\n<h2>首先在 pom.xml 文件中导入包</h2>\\n<div class=\\"language-xml\\" data-highlighter=\\"prismjs\\" data-ext=\\"xml\\" data-title=\\"xml\\"><pre class=\\"language-xml\\"><code><span class=\\"line\\"><span class=\\"token comment\\">&lt;!--pagehelper--&gt;</span> </span>\\n<span class=\\"line\\"><span class=\\"token tag\\"><span class=\\"token tag\\"><span class=\\"token punctuation\\">&lt;</span>dependency</span><span class=\\"token punctuation\\">&gt;</span></span></span>\\n<span class=\\"line\\"> <span class=\\"token tag\\"><span class=\\"token tag\\"><span class=\\"token punctuation\\">&lt;</span>groupId</span><span class=\\"token punctuation\\">&gt;</span></span>com.github.pagehelper<span class=\\"token tag\\"><span class=\\"token tag\\"><span class=\\"token punctuation\\">&lt;/</span>groupId</span><span class=\\"token punctuation\\">&gt;</span></span></span>\\n<span class=\\"line\\"> <span class=\\"token tag\\"><span class=\\"token tag\\"><span class=\\"token punctuation\\">&lt;</span>artifactId</span><span class=\\"token punctuation\\">&gt;</span></span>pagehelper-spring-boot-starter<span class=\\"token tag\\"><span class=\\"token tag\\"><span class=\\"token punctuation\\">&lt;/</span>artifactId</span><span class=\\"token punctuation\\">&gt;</span></span></span>\\n<span class=\\"line\\"> <span class=\\"token tag\\"><span class=\\"token tag\\"><span class=\\"token punctuation\\">&lt;</span>version</span><span class=\\"token punctuation\\">&gt;</span></span>1.4.7<span class=\\"token tag\\"><span class=\\"token tag\\"><span class=\\"token punctuation\\">&lt;/</span>version</span><span class=\\"token punctuation\\">&gt;</span></span></span>\\n<span class=\\"line\\"><span class=\\"token tag\\"><span class=\\"token tag\\"><span class=\\"token punctuation\\">&lt;/</span>dependency</span><span class=\\"token punctuation\\">&gt;</span></span></span>\\n<span class=\\"line\\"></span>\\n<span class=\\"line\\"></span></code></pre></div>"}');export{r as comp,k as data};