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

建筑网下载山西seo基础教程

建筑网下载,山西seo基础教程,智慧校园平台,ppt的制作方法背景 使用pageHelper时,发现分页数据异常,经过排查发现是resultMap 的问题。 resultMap介绍 在使用mybatis时,我们经常会使用在xml文件中编写一些复杂的sql语句,例如多表的join,在映射实体类时,又会使用…

背景

使用pageHelper时,发现分页数据异常,经过排查发现是resultMap 的问题。

resultMap介绍

在使用mybatis时,我们经常会使用在xml文件中编写一些复杂的sql语句,例如多表的join,在映射实体类时,又会使用到resultMap,将查询的数据库字段与实体类字段进行映射对照。

resultMap 元素是 MyBatis 中最重要最强大的元素。它可以让你从 90% 的 JDBC ResultSets 数据提取代码中解放出来,并在一些情形下允许你进行一些 JDBC 不支持的操作。实际上,在为一些比如连接的复杂语句编写映射代码的时候,一份 resultMap 能够代替实现同等功能的数千行代码。ResultMap 的设计思想是,对简单的语句做到零配置,对于复杂一点的语句,只需要描述语句之间的关系就行了。

举例

当我们编写了一个非常复杂的resultMap时,例如如下。

<!-- 非常复杂的结果映射 -->
<resultMap id="detailedBlogResultMap" type="Blog"><constructor><idArg column="blog_id" javaType="int"/></constructor><result property="title" column="blog_title"/><association property="author" javaType="Author"><id property="id" column="author_id"/><result property="username" column="author_username"/><result property="password" column="author_password"/><result property="email" column="author_email"/><result property="bio" column="author_bio"/><result property="favouriteSection" column="author_favourite_section"/></association><collection property="posts" ofType="Post"><id property="id" column="post_id"/><result property="subject" column="post_subject"/><association property="author" javaType="Author"/><collection property="comments" ofType="Comment"><id property="id" column="comment_id"/></collection><collection property="tags" ofType="Tag" ><id property="id" column="tag_id"/></collection><discriminator javaType="int" column="draft"><case value="1" resultType="DraftPost"/></discriminator></collection>
</resultMap>

请把你的目光聚集到collection标签上,对应Java 实体类属性为List posts;
有两张表 blog 和 post, 一对多的关系。
一个blog 博客,可以用多篇post文章。
我们查询博客以及文章,并且装配到统一个实体类中。

select blog.*,post.title,post.status from  blog left join post using(post_id);

假设查询到5条数据,两个博客,分别对应的1、4篇文章。那么被resultMap映射过会得到一个拥有两个元素的集合,文章数据被封装到对应的集合属性中。

但是如果我们在sql最后加入 limi 2, 这样查到的分页数据就是不准确的了。
查出来还是两个元素的集合,但是第二个元素的posts 属性却只有一篇文章,和我们预期严重不符合
会出现各种情况,posts属性数据不完整,或者是其他数据不正确的情况。

结论

所以当我们需要使用resultMap + collection来进行复杂映射时,慎重使用 limit 关键字,以及一些插件(pageHelper)

http://www.yidumall.com/news/50808.html

相关文章:

  • 公安局网站备案表上海百度seo公司
  • 网站运营技巧互联网广告代理商
  • 在IIs下建设一个网站推广找客户平台
  • 做电影网站靠谱吗郑州seo外包阿亮
  • 怎么做58同城网站建立网站的步骤
  • 三水网站建设哪家好最新病毒感染什么症状
  • 济宁政府网站建设seo专业课程
  • 广告买卖网上海关键词优化按天计费
  • 28网站制作手机百度关键词优化
  • 下厨房网站学做蒸包视频重庆做seo外包的
  • 网站商城微信支付宝支付宝支付接口关联词有哪些 全部
  • 哈尔滨网站设计多少钱网页制作公司
  • 在网站做淘宝推广seo企业推广案例
  • 太原网站的优化地推接单平台找推网
  • 什么叫网站开发应用框架线上营销手段
  • 邪恶网站源码万网域名交易
  • 视频新闻网站 建设软件开发app制作
  • 网站域名和网站网址郑州网站排名优化外包
  • 怎么做卖保险的网站站长统计是什么意思
  • 企业做外贸网站常用术语无锡seo
  • mysql数据库做网站行业网站有哪些平台
  • 推广网站名是什么seo搜索引擎优化就业前景
  • 免费的百度网站怎么做关键词seo排名
  • 北京java网站开发2023半夜免费b站推广
  • 怎么一键打开两个wordpress小果seo实战培训课程
  • 国内做的比较好的网站是什么网络seo外包
  • 工信部网站备案系统登录网站信息
  • 怎么样建立个人网站百度大数据中心
  • wordpress整个网站响应速度慢俄罗斯引擎搜索
  • 西安商城网站建设郑州高端网站建设哪家好