news 2026/7/21 20:44:22

mybatis在xml中使用OGNL取值简述

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
mybatis在xml中使用OGNL取值简述

概述

在业务中如果dao层搭配了mybatis,那么通常会将一些业务查询写入到xml中,并且在过滤一些业务条件时会使用OGNL表达式

比如下面这段OGNL表达式

<iftest="null != params.applyTimeStart">and mpa.apply_time>=#{params.applyTimeStart}</if><iftest="null != params.applyTimeEnd">and mpa.apply_time&lt;=#{params.applyTimeEnd}</if>

可以看到在表达式中是通过xxx.xxx的方式取值的;
先说结论,通过get方法获取的值

org.apache.ibatis.reflection.Reflector#getGetInvoker

mybatis:3.5.10

源码分析

思路大致是先从外层查询进去,然后一路debug进去;

我的查询入口是个分页查询,我在中间源码setParameters处打了个断点
com.baomidou.mybatisplus.core.MybatisParameterHandler#setParameters

然后一路往下跟踪到BeanWrapper中的metaClass.getGetInvoker方法,在其中看到了查询get方法的逻辑
org.apache.ibatis.reflection.wrapper.BeanWrapper#getBeanProperty

获取get方法的逻辑
org.apache.ibatis.reflection.Reflector#getGetInvoker

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/21 10:38:01

HTML+Python动态网页生成:基于Miniconda-Python3.10的自动化脚本实践

HTMLPython动态网页生成&#xff1a;基于Miniconda-Python3.10的自动化脚本实践 在科研团队每周都要提交实验数据报告的场景中&#xff0c;你是否曾为重复的手动整理表格、复制粘贴结果而烦恼&#xff1f;更糟糕的是&#xff0c;当同事运行你的生成脚本时却因“模块找不到”或“…

作者头像 李华
网站建设 2026/7/20 20:06:49

Miniconda-Python3.10镜像使用指南:高效搭建PyTorch深度学习环境

Miniconda-Python3.10镜像使用指南&#xff1a;高效搭建PyTorch深度学习环境 在现代深度学习开发中&#xff0c;一个常见的场景是&#xff1a;你刚拿到一台新的GPU服务器&#xff0c;满心期待地准备跑通第一个模型&#xff0c;结果却被各种环境问题卡住——Python版本不兼容、C…

作者头像 李华
网站建设 2026/7/21 12:34:05

Zanzibar vs MySQL Permission System - 实证性能对比研究

完整的实证研究项目: 对比传统MySQL展开存储和Google Zanzibar风格的元组图遍历权限系统 基于真实测试数据: 5,000用户 | 100,000文档 | 50,000客户 | 生产规模验证 仓库地址: https://github.com/d60-Lab/zanzibar 1️⃣ 业务背景 这是一个典型的企业文档协作系统的权限管理场…

作者头像 李华
网站建设 2026/7/14 17:24:19

生成型消费与体验型消费:未来各行各业发展展望

当AI如同阳光、空气般无处不在&#xff0c;消费不再是简单的购买行为&#xff0c;而是一场与机器共舞的创造之旅清晨&#xff0c;你对着智能音箱说出一个模糊的创意&#xff1a;“想要一款带有东方美学元素的家居装饰”。几分钟后&#xff0c;AI生成了十种设计方案供你选择。确…

作者头像 李华
网站建设 2026/7/20 20:11:40

Linux下Miniconda权限问题导致PyTorch安装失败的修复

Linux下Miniconda权限问题导致PyTorch安装失败的修复 在搭建AI开发环境时&#xff0c;你是否遇到过这样的场景&#xff1a;满怀期待地运行 conda install pytorch&#xff0c;结果终端却弹出一串红色错误&#xff1a; CondaError: Permission denied: /opt/miniconda3/pkgs或者…

作者头像 李华
网站建设 2026/7/20 17:29:53

Markdown生成技术文档:Miniconda环境信息一键导出

Miniconda环境信息一键导出&#xff1a;构建可复现的Python开发体系 在数据科学和人工智能项目中&#xff0c;你是否经历过这样的场景&#xff1f;——本地训练好的模型&#xff0c;换一台机器就跑不起来&#xff1b;团队成员各自安装依赖&#xff0c;结果“在我电脑上明明没问…

作者头像 李华