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

mybatisPlus动态sql语句 ${ew.sqlSegment}

mybatis-plus的${ew.sqlSegment},${ew.sqlSelect},${ew.customSqlSegment}

ew是mapper方法里的@Param(Constants.WRAPPER) Wrapper queryWrapper对象

简答介绍:

${ew.sqlSelect}:拼接select SQL主体

@Select("select ${ew.sqlSelect} from asdf")
List<adsf> getAfsd(@Param(Constants.WRAPPER)QueryWrapper queryWrapper)

${ew.sqlSet}:拼接update SQL主体

@Update("update ${tableName} set ${ew.sqlSet} ${ew.customSqlSegment};")
boolean updateById(@Param("tableName") String tableName,@Param(Constants.WRAPPER) Wrapper wrapper);

${ew.sqlSegment}:拼接where后的语句

@Select("select * from asdf where ${ew.customSqlSegment}")
List<sdf> getAfsdf(@Param(Constants.WRAPPER)QueryWrapper queryWrapper)

${ew.customSqlSegment}:拼接where后的语句(包括where。需注意在动态SQL中勿处于<where></where>标签内)

@Select("select * from asdf ${ew.customSqlSegment}")
List<sdfa> getsdfg(@Param(Constants.WRAPPER)QueryWrapper queryWrapper)

以${ew.sqlSegment}为例:

controller.java里面组装好查询条件

QueryWrapper<Crz> queryWrapper = new QueryWrapper();queryWrapper.eq("ispq", "-1");String shusinessType = req.getParameter("sipBunessType");String shpType = req.getParameter("shipType");// 获取当前日期LocalDate today = LocalDate.now();// 获取当天的00:00:00(00点)LocalDateTime startOfDay = today.atStartOfDay();// 获取当天的23:59:59LocalDateTime endOfDay = today.atTime(LocalTime.MAX);DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");String formattedStart = startOfDay.format(formatter);String formattedEnd = endOfDay.format(formatter);queryWrapper.between("csj", formattedStart, formattedEnd);String gkmc = req.getParameter("cwYmc");if (StaticMethod.isNotEmpty(gkmc)) {gkmc = jcgCySnapService.getJcgYgmc(gkmc);queryWrapper.like("gkid", gkmc);}String yc = req.getParameter("ycmc");if (StaticMethod.isNotEmpty(ycmc)) {queryWrapper.like("ycmc", ycmc);}List<Cgrz> cgrzs = jgbgMapper.cgcywpqPage(queryWrapper);

mapper.java里面

    IPage<Jz> jgrzList(Page<Jz> page, @Param("ew") Wrapper<Jz> queryWrapper, 
@Param("yhpz") String yhpz,@Param("districtLikeStr") String districtLikeStr);

mapper.xml里面

<select id="jzList" resultType="org.jeecg.modules.ygl.entity.rz">SELECT cy.xm as czxm,jcg_jgbg.ship_info_id as shipInfoId,jcg_jgbg.id as jcgId,dis.districtName,ycmc,jgsj,gk.gkmc,gk.gkmc sagkmc,sfczhybrdwdjb,insert_time,insert_user,yhpz,jgbgid,yhwzlFROM jcg_jgbgleft join (select yhpz,jgbgid,sum(yhl) yhwzl from jcg_yh<if test="yhpz != null">where yhpz = #{yhpz}</if>group by jgbgid) zl on jcg_jgbg.id=zl.jgbgidleft join jcg_gk gk on jcg_jgbg.njgkid = gk.idleft join sys_district dis on dis.districtId = jcg_jgbg.ship_districtleft join jcg_cy cy on cy.id = jcg_jgbg.czidwhere ship_district like '${districtLikeStr}%'<if test="ew.sqlSegment != null">and  ${ew.sqlSegment}</if>ORDER by jgsj desc</select>

SQL执行结果:

以上内容仅供学习参考! 

http://www.lryc.cn/news/517187.html

相关文章:

  • 【工具】HTML自动识别用户正在讲话 以及停止讲话
  • 小程序与内嵌网页的数据通信
  • Android - NDK:编译可执行程序在android设备上运行
  • 快速上手:采用Let‘sEncrypt免费SSL证书配置网站Https (示例环境:Centos7.9+Nginx+Let‘sEncrypt)
  • shell技能树-扩展变量
  • 基于RedHat9部署WordPress+WooCommerce架设购物网站
  • LabVIEW瞬变电磁接收系统
  • Docker入门篇[SpringBoot之Docker实战系列] - 第534篇
  • Linux系统扩容根 (/) 文件系统空间
  • JavaScript之JQuery
  • JAVA学习记录2
  • 计算机网络、嵌入式等常见问题简答
  • 中华人民共和国预算法实施条例
  • 【养生--果蔬汁】
  • LLM架构从基础到精通之词向量1
  • 【SQL】Delete使用
  • KBQA前沿技术
  • 跨年烟花C++代码
  • centos服务器 /1ib64/libm.so.6: version “GLIBc 2.27’ not found 异常
  • 职场:如何快速适应职场新环境?
  • axios的替代方案onion-middleware
  • 设计模式——泛型单例类
  • 三维卷积( 3D CNN)
  • 【JAVA】Java开发小游戏 - 简单的2D平台跳跃游戏 基本的2D平台跳跃游戏框架,适合初学者学习和理解Java游戏开发的基础概念
  • 分享3个国内使用正版GPT的网站【亲测有效!2025最新】
  • CSDN Markdown编辑器设置视频居中完美解决方案
  • Java到底是值传递还是引用传递????
  • 初学stm32 --- 电源监控
  • Win10本地部署大语言模型ChatGLM2-6B
  • [ LeetCode 75 ] 1768. 交替合并字符串