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

做网站需要的技术做做网站2023

做网站需要的技术,做做网站2023,西安seo网络优化公司,做游戏网站年入百万问题描述 最近做项目时使用了mybatisplus#xff0c;分页插件也使用的是mybatisplus自带的分页插件#xff0c;业务需求是查询客户列表#xff0c;每个客户列表中有一个子列表#xff0c;在通过分页插件查询后#xff0c;会出现数量总数为子列表总数、客户列表与子列表不…问题描述 最近做项目时使用了mybatisplus分页插件也使用的是mybatisplus自带的分页插件业务需求是查询客户列表每个客户列表中有一个子列表在通过分页插件查询后会出现数量总数为子列表总数、客户列表与子列表不对等。 1、配置mybatis-plus插件 Configuration MapperScan(com.guigu.mapper) //可以将启动类中的注解移到此处 public class MybatisPlusConfig {/**** 1 怎么来配置mybatis-plus中的插件* 这里所需要的类型是MybatisPlusInterceptor这是mybatis-plus的一个拦截器用于配置mybatis-plus中的插件。* 2 为什么要使用拦截器MybatisPlusInterceptor呢* 这里边的原理和mybatis分页插件的功能是一样的工作流程如下 * 1第一步执行查询功能。* 2第二步拦截器对查询功能进行拦截。* 3第三步拦截器对查询功能的基础上做了额外的处理达到分页的效果功能。* 3 对比配置mybatis中的插件* 用的也是拦截器的方式。** return MybatisPlusInterceptor*/Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor interceptor new MybatisPlusInterceptor();//添加分页插件//参数new PaginationInnerInterceptor(DbType.MYSQL)是专门为mysql定制实现的内部的分页插件interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));return interceptor;}2、mapper语句 需求根据年龄查询用户列表分页显示** 第一步xml自定义分页Mapper接口方法* 第1步如果想要mybatis-plus的分布插件来作用于我们自定义的sql语句的话* 第一个参数必须得是一个分页对象Param(page) PageUser page。* 第二步因为Mapper接口方法有2个参数的话* 方案1使用mybatis提供的访问方式* 方案2也可以使用param来设置命名参数来规定参数的访问规则PageCustomerEntity queryCustomerList(Param(page) PageCustomerEntity customerPage,Param(customerName) String customerName,Param(deptIds) ListLong deptIds,Param(userIds) ListLong userIds,Param(delFlag) Integer logicNotDeleteValue)resultMap idcustomerList typecustomerEntityid propertycustomerId columncustomer_id/result propertycustomerName columncustomer_name/collection propertychildren selectqueryList columncustomer_id ofTypecustomerInfoEntity/collectioncollection propertychildren ofTypecustomerInfoEntityid propertycustomerInfoId columncustomer_info_id/result propertycustomerId columncustomer_id/result propertydeptId columndept_id/result propertyindustry columnindustry/result propertylevel columnlevel/result propertysource columnsource/result propertyhighSeas columnhigh_seas/result propertyremark columnremark/result propertycrtTime columncrt_time/result propertycrtName columncrt_name/result propertycrtUserId columncrt_user_id//collection/resultMapselect idqueryCustomerList resultMapcustomerListSELECTc.customer_id,c.customer_name,ci.customer_info_id,ci.customer_id,ci.dept_id,ci.industry,ci.level,ci.source,ci.high_seas,ci.remark,ci.crt_time,ci.crt_name,ci.crt_user_idFROM customer cJOIN customer_info ci on c.customer_id ci.customer_idwhere ci.high_seas 0and ci.del_flag #{delFlag}and c.del_flag #{delFlag}if testcustomerName ! nullAND c.customer_name like concat(%,#{customerName},%)/ifif testdeptIds.size0AND ci.dept_id inforeach collectiondeptIds itemid separator, open( close)#{id}/foreach/ifif testuserIds.size0AND ci.crt_user_id inforeach collectionuserIds itemid separator, open( close)#{id}/foreach/if/select上述语句查询的结果数是表customer_info的数量而不是表customer的数量客户列表下有多个子列表时会分成多个相同的客户。 解决办法 那我们怎么才能查到正确得一对多的分页结果呢mybatis提供另一种方式使用mybatis的子查询映射。 resultMap idcustomerList typecustomerEntityid propertycustomerId columncustomer_id/result propertycustomerName columncustomer_name/collection propertychildren selectqueryList columncustomer_id ofTypecustomerInfoEntity/collection/resultMapselect idqueryList resultTypecustomerInfoEntityselect ci.customer_info_id,ci.customer_id,ci.dept_id,ci.industry,ci.level,ci.source,ci.high_seas,ci.remark,ci.crt_time,ci.crt_name,ci.crt_user_idfrom customer_info ciwhere ci.customer_id #{customer_id};/select!-- 查询未加入公海池的客户列表--select idqueryCustomerList resultMapcustomerListSELECTc.customer_id,c.customer_name,ci.customer_info_id,ci.customer_id,ci.dept_id,ci.industry,ci.level,ci.source,ci.high_seas,ci.remark,ci.crt_time,ci.crt_name,ci.crt_user_idFROM customer cJOIN customer_info ci on c.customer_id ci.customer_idwhere ci.high_seas 0and ci.del_flag #{delFlag}and c.del_flag #{delFlag}if testcustomerName ! nullAND c.customer_name like concat(%,#{customerName},%)/ifif testdeptIds.size0AND ci.dept_id inforeach collectiondeptIds itemid separator, open( close)#{id}/foreach/ifif testuserIds.size0AND ci.crt_user_id inforeach collectionuserIds itemid separator, open( close)#{id}/foreach/if/select注意 collection中的colum属性需要填两表关联的字段也就是customer_id
http://www.huolong8.cn/news/71960/

相关文章:

  • 做网站设计需要多少钱做seo排名好的公司
  • 摄影网站采用照片做宣传_版权费是多少?百度关键字怎么搜到公司网站
  • 网站系统接口500异常网站建设 新要求
  • 佛山网站定制简易手工制作
  • 手机版官方网站的建设做外贸的国际网站有哪些
  • 服务器做视频网站吗怎样做网站外部样式
  • 西安网站制作工商网站建设先进个人自荐
  • 旅游网站开发文档WordPress分享到笔记
  • 网站建设方案的摘要怎么写vi设计的简介
  • 做购物网站写数据库的流程品牌推广全案
  • 崇左市住房和城乡建设局网站网站二级页面怎么做
  • 如何在一个空间做2个网站上海网站设计公司电话
  • 电子业网站建设网站开发的策划书
  • 做外贸 访问国外网站毕业设计网页设计论文
  • 网站建设通讯设备中企动力logo标志设计图片
  • 邯郸推广网站建设哪个好软件产品如何做网站推广
  • 政务网站建设方案泉州做网站优化价格
  • 微信分销网站开发中国专业室内设计公司排名
  • 大型做网站东莞市小程序定制开发丨网站建设
  • 个人虚拟网站分销平台用户协议
  • 长沙网站seo优化wordpress标题代码调用
  • 国外的工业设计网站wordpress无法接受邮件
  • 琴行网站建设方案长春移动网站建设
  • 某网站开发项目进度表wordpress slider代码
  • cookie做网站登录网站描述在哪里写
  • 泰州做企业网站百度关键词热搜
  • 做网站 0元代理用家里网络做网站
  • 微信登录wordpresswordpress 分类 seo
  • 做餐饮网站的目的与意义网站如何做等保备案
  • 专业网站建设价格最优百度营销大学