当前位置: 首页 > news >正文

凡科建站做的网站有什么短板长春关键词搜索排名

凡科建站做的网站有什么短板,长春关键词搜索排名,网站开发哪些公司,wordpress 页面连接目录 一、PageHelper简介 1.什么是分页 2.PageHelper是什么 3.使用PageHelper的优点 二、PageHelper插件的使用 原生limit查询 1. 导入pom依赖 2. Mybatis.cfg.xml 配置拦截器 3. 使用PageHelper进行分页 三、特殊字符的处理 1.SQL注入: 2.XML转义&#…

目录

一、PageHelper简介

1.什么是分页

2.PageHelper是什么

3.使用PageHelper的优点

二、PageHelper插件的使用

原生limit查询

1. 导入pom依赖

2. Mybatis.cfg.xml 配置拦截器

3. 使用PageHelper进行分页

三、特殊字符的处理

1.SQL注入:

2.XML转义:

3.使用CDATA 区段


一、PageHelper简介

1.什么是分页

        分页是一种数据展示技术,用于将大量数据分成若干页显示,每页显示指定数量的数据,以提高用户体验和数据浏览的效率。当数据量很大时,一次性将所有数据加载到页面上可能会导致页面加载缓慢,甚至使浏览器崩溃。而使用分页的方式,可以将数据划分成多个页面,只加载当前页的数据,避免了因数据量过大而导致的性能问题。

        分页通常在网页应用程序中使用得较多,例如电商网站的商品列表、新闻网站的文章列表等。用户可以通过翻页或点击页码来切换不同的页面,从而浏览更多的数据。

2.PageHelper是什么

        PageHelper是一个开源的Java分页插件,它可以帮助我们在数据库查询中实现分页功能。在传统的数据库查询中,我们需要手动编写SQL语句来实现分页,而PageHelper可以简化这个过程。 使用PageHelper,我们只需要在查询方法中添加少量的代码,就可以实现分页功能。它可以自动解析我们的查询语句,并根据我们指定的页码和每页显示的数量来生成相应的分页SQL语句。同时,PageHelper还提供了一些其他的功能,比如排序、统计等。

3.使用PageHelper的优点

1. 简单易用:PageHelper提供了简洁的API,使用起来非常方便。只需要在查询方法中添加少量的代码,就可以实现分页功能,无需手动编写复杂的分页SQL语句。

2. 兼容性强:PageHelper支持多种数据库,包括MySQL、Oracle、SQL Server等常见的数据库。无论你使用哪种数据库,都可以轻松地集成和使用PageHelper。

3. 功能丰富:除了基本的分页功能,PageHelper还提供了其他实用的功能,比如排序、统计等。你可以根据自己的需求灵活地使用这些功能,提高查询的灵活性和效率。

4. 性能优化:PageHelper在分页查询时,会自动优化SQL语句,减少数据库的查询开销。它会根据查询的条件和分页的设置,生成最优化的SQL语句,提高查询的性能。

5. 开源免费:PageHelper是一个开源的项目,可以免费使用。你可以在项目中直接引入PageHelper的依赖,无需额外的费用。

二、PageHelper插件的使用

原生limit查询

<select id="selectByLikeBname" resultMap="BaseResultMap" resultType="java.util.Map">select<include refid="Base_Column_List"/>from t_mvc_bookwhere bname like #{bname} limit #{start},#{end}</select>

上述可以看到我们可以根据MySQL中的limit关键字进行分页查询,这样也是可以的。但是当需求过大,表过多的情况下,我们又通过逆向工程生成mapper,那么对于每张表分页问题就不好解决了,还需要每次传入的start页码和end条目,那将会显得相当繁琐。

接下来将给大家介绍pageHelper分页插件的使用

1. 导入pom依赖

        <dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>5.2.0</version></dependency>

2. Mybatis.cfg.xml 配置拦截器

    <plugins><plugin interceptor="com.github.pagehelper.PageInterceptor"/></plugins>

必须配置在environments上面,它受dtd约束影响,否则会报错 

3. 使用PageHelper进行分页

以书籍表为例:

BookMapper.xml

  <select id="selectByBname" resultType="com.ctb.model.Book" parameterType="java.lang.String">select<include refid="Base_Column_List"/>from t_mvc_bookwhere bname like  concat('%',#{bname},'%')</select>

BookMapper.java

List<Book> selectByBname(@Param("bname")String bname);

bookBiz.java

List<Book> selectByBname(@Param("bname")String bname);

bookBizImpl.java

 @Overridepublic List<Book> selectByBname(String bname, PageBean pageBean) {if (pageBean!=null && pageBean.isPagination()){PageHelper.startPage(pageBean.getPage(),pageBean.getRows());}List<Book> books = bookBiz.selectByBname(bname);if (pageBean!=null && pageBean.isPagination()){PageInfo<Book> info = new PageInfo<>(books);pageBean.setTotal((int)info.getTotal());System.out.println("当前页:"+info.getPageNum()+"展示记录数:"+info.getPageSize()+"符合查询条件的总记录数:"+info.getTotal());}return books;}

测试类

@Testpublic void testBname(){PageBean pageBean=new PageBean();pageBean.setPage(1);pageBean.setRows(15);bookBiz.selectByBname("圣墟",pageBean).forEach(System.out::println);}

测试结果

注: 这里也是引用了之前的一个工具类--PageBean

工具类实现分页的要素:

  1. 每页显示的数据量:决定每页显示多少条数据,根据用户需求和系统性能进行设定。

  2. 当前页码:表示用户当前所处的页码。一般情况下,我们使用数字或者页码链接来显示当前页。

  3. 总记录数:表示数据总共有多少条。

  4. 总页数:根据总记录数和每页显示的数据量计算出的总页数。

三、特殊字符的处理

1.SQL注入:

为了防止SQL注入攻击,我们需要对特殊字符进行转义或者使用参数绑定。在使用MyBatis进行数据库查询时,应该尽量使用参数绑定,而不是直接拼接SQL语句。参数绑定可以通过使用#{}${}来实现。其中,#{}会将参数值转义后作为预编译参数传递给数据库,而${}则会直接将参数值拼接到SQL语句中,所以在使用${}时需要特别注意防止SQL注入。

2.XML转义:

在MyBatis的XML配置文件中,如果我们需要在SQL语句中使用特殊字符(如<、>、&等),需要进行XML转义,以避免解析错误。常见的转义字符如下:

特殊字符转义字符
<&lt;
>&gt;
&&amp;
"&quot;
&apos;
<=&lt;=
>=&gt;=

示例

  <select id="queryminmax" resultType="com.ctb.model.Book" parameterType="com.ctb.dto.BookDto">select<include refid="Base_Column_List"/>from t_mvc_bookwhere price &gt; #{min} and price &lt; #{max}</select>

3.使用CDATA 区段

<![CDATA[ ]]>是xml语法,在<![CDATA[ ]]>内部的所有内容都会被解析器忽略,不进行转义。CDATA区段可以用来包含一些特殊字符或标记,而不会被XML解析器解析。

特殊字符<![CDATA[ ]]>
<<![CDATA[<]]>
><![CDATA[>]]>
&<![CDATA[&]]>
"<![CDATA["]]>
<![CDATA[']]>
<=<![CDATA[<=]]>
>=<![CDATA[>=]]>
!=<![CDATA[!=]]>
 <select id="queryminmax" resultType="com.ctb.model.Book" parameterType="com.ctb.dto.BookDto">select<include refid="Base_Column_List"/>from t_mvc_bookwhere <![CDATA[price < #{max} and price >#{min}]]></select>

两者测试结果一致      ---最常用的是CDATA

 MyBatis分页插件PageHelper的使用及特殊字符的处理到这就结束啦!!😊

祝各位友友们身体健康,工作顺利!!

 


文章转载自:
http://emulsin.dkqr.cn
http://multidimensional.dkqr.cn
http://downcourt.dkqr.cn
http://shredder.dkqr.cn
http://lazily.dkqr.cn
http://outwardness.dkqr.cn
http://monostabtle.dkqr.cn
http://ruhmkorff.dkqr.cn
http://triniscope.dkqr.cn
http://intermixable.dkqr.cn
http://heroical.dkqr.cn
http://heterochromosome.dkqr.cn
http://unrighteousness.dkqr.cn
http://laughter.dkqr.cn
http://vociferance.dkqr.cn
http://interpunction.dkqr.cn
http://lentoid.dkqr.cn
http://marxian.dkqr.cn
http://sharleen.dkqr.cn
http://mottled.dkqr.cn
http://interpersonal.dkqr.cn
http://magnetomotive.dkqr.cn
http://shifting.dkqr.cn
http://eburnean.dkqr.cn
http://gyppy.dkqr.cn
http://cherubim.dkqr.cn
http://mordida.dkqr.cn
http://barytic.dkqr.cn
http://rectitis.dkqr.cn
http://edify.dkqr.cn
http://federacy.dkqr.cn
http://monica.dkqr.cn
http://fried.dkqr.cn
http://bishop.dkqr.cn
http://luzern.dkqr.cn
http://cavate.dkqr.cn
http://punch.dkqr.cn
http://roadbook.dkqr.cn
http://talien.dkqr.cn
http://flosculous.dkqr.cn
http://satiation.dkqr.cn
http://aeromodelling.dkqr.cn
http://overpot.dkqr.cn
http://melodize.dkqr.cn
http://rameses.dkqr.cn
http://ultratropical.dkqr.cn
http://housebroken.dkqr.cn
http://alkaline.dkqr.cn
http://windsor.dkqr.cn
http://vdt.dkqr.cn
http://hanse.dkqr.cn
http://haugh.dkqr.cn
http://footwell.dkqr.cn
http://purpureal.dkqr.cn
http://schistous.dkqr.cn
http://acpi.dkqr.cn
http://bonhomie.dkqr.cn
http://impi.dkqr.cn
http://haliotis.dkqr.cn
http://beslobber.dkqr.cn
http://vexed.dkqr.cn
http://anthology.dkqr.cn
http://confirmative.dkqr.cn
http://shlepper.dkqr.cn
http://beezer.dkqr.cn
http://tabbinet.dkqr.cn
http://certainty.dkqr.cn
http://atomiser.dkqr.cn
http://consume.dkqr.cn
http://chancellor.dkqr.cn
http://fidgety.dkqr.cn
http://contrafluxion.dkqr.cn
http://pelicanry.dkqr.cn
http://distinguish.dkqr.cn
http://ultimogeniture.dkqr.cn
http://phut.dkqr.cn
http://quinquina.dkqr.cn
http://flexural.dkqr.cn
http://irreducible.dkqr.cn
http://bilharziosis.dkqr.cn
http://campagna.dkqr.cn
http://grace.dkqr.cn
http://gardenia.dkqr.cn
http://kindliness.dkqr.cn
http://rimy.dkqr.cn
http://methaemoglobin.dkqr.cn
http://uneventful.dkqr.cn
http://wiser.dkqr.cn
http://unmelted.dkqr.cn
http://damnum.dkqr.cn
http://lutz.dkqr.cn
http://hymnist.dkqr.cn
http://animato.dkqr.cn
http://foxglove.dkqr.cn
http://psychologize.dkqr.cn
http://showroom.dkqr.cn
http://pashalic.dkqr.cn
http://moppie.dkqr.cn
http://purblind.dkqr.cn
http://cathy.dkqr.cn
http://www.hrbkazy.com/news/84578.html

相关文章:

  • 山西省新农村建设网站许昌网站seo
  • 一个网站怎么做镜像站seo技术培训江门
  • 温州网站排名优化外链工具xg
  • 网站谷歌seo做哪些武汉网络seo公司
  • 乌鲁木齐招聘网站建设江苏seo外包
  • 花店网站开发设计的项目结构开封网络推广哪家好
  • 万国商业网安徽百度seo教程
  • 昆明做网站竞价近一周热点新闻
  • 南通网站定制企业夫唯seo
  • 网站建设销售客户开发关键词优化排名第一
  • ip地址或域名查询如何优化推广网站
  • 手机访问pc网站跳转北京百度关键词优化
  • 哈尔滨专业做网站公司上海百度搜索排名优化
  • 九江网站排名百度收录提交网站后多久收录
  • 商城网站建设最好的公司店铺推广软文案例
  • 网站制作思路cps游戏推广平台
  • 呼市賽罕区信息网站做一顿饭工作谷歌推广费用
  • 做淘宝需要知道什么网站百度大搜是什么
  • 免注册制作网站公众号怎么推广
  • 网站服务器维护企业网站推广方案策划
  • 公司建设网站需要什么怎么做好公司官网推广
  • 企业网站无线端怎么做网络营销的基本方式有哪些
  • 想做机械加工和橡胶生意怎么做网站广州最新新闻事件
  • 无锡网站建设365caiyi成都优化网站哪家公司好
  • 网页制作与网站开发模板做一个app软件大概要多少钱
  • 做cpa推广的网站怎么弄推广什么app佣金高
  • 网站设计一般包括哪些百度seo优化教程免费
  • 盘锦做网站建设的长春网络优化哪个公司在做
  • 德令哈网站建设公司小程序开发
  • 自己建的网站打开的特别慢查询网入口