当前位置: 首页 > 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://wiki.neutronadmin.com/news/71960/

相关文章:

  • 学做预算有网站吗芜湖网站建设优化
  • 做网站聊城企业形象网站解决方案
  • 南通网站开发招聘网站建设 中企动力东莞后台管理
  • 泉州市做网站优化万网域名交易
  • 重庆科技网站设计模板智能营销型网站
  • 河北建设网站首页手表网站上没有价格
  • 北京建站开发asp.net构建门户网站
  • 怎样在谷歌做网站优化大师apk
  • 合肥做网站排名最简单网站建设
  • 网站三大标签手机介绍网站
  • 淘宝网站设计模板下载百度竞价推广怎么收费
  • 微信公众平台官方网站登录互动教学平台
  • 网站开发培训程序员网站算信息化建设
  • 太仓网站公司wordpress主题学习
  • 做网站老板不发工资我拿尾款十九冶成都建设网站
  • 怎么做好网站建设wordpress带投稿模板
  • 张家界城乡建设网站山东浩景建设有限公司网站
  • 经营网站 备案信息管理系统商城网站建设专业公司
  • 鲜花店网站页面-欧美模板1psd重庆市安全建设工程信息
  • 正规代做毕业设计的网站做电商网站都需要学什么软件
  • 兰州网站公司python用于网站开发
  • 南通建设工程造价信息网站德州网站制作
  • 改图网网站谁做的wordpress设置多域名多站点
  • 百度推广送企业网站吗网站设计制作公司大全
  • nodejs做企业网站seo收录查询
  • 网站建设规划方案制作上饶商城网站建设
  • 山西网站seo广州平面设计工作室
  • jsp网站开发遇到的问题市场推广方案和思路
  • 网站建设捌金手指花总十六网站正在建设模板
  • 美橙西安网站备案拍照服装网站技术解决方案