news 2026/5/24 13:41:26

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/5/22 18:56:37

Jupyter Lab在Miniconda环境中的配置技巧与常见问题解决

Jupyter Lab在Miniconda环境中的配置技巧与常见问题解决 在数据科学、AI研发和教学实践中&#xff0c;一个稳定且可复现的开发环境至关重要。但现实往往令人沮丧&#xff1a;当你从同事那里拿到一份 .ipynb 文件&#xff0c;满怀期待地运行时&#xff0c;却因“模块未找到”或“…

作者头像 李华
网站建设 2026/5/22 18:56:57

Pyenv与Conda双剑合璧:精细化管理多个Python版本

Pyenv与Conda双剑合璧&#xff1a;精细化管理多个Python版本 在人工智能和数据科学项目日益复杂的今天&#xff0c;开发者常常面临一个看似简单却棘手的问题&#xff1a;为什么我的代码在同事的机器上跑不起来&#xff1f; 答案往往藏在那些看不见的依赖里——可能是 Python 版…

作者头像 李华
网站建设 2026/5/22 9:36:52

Anaconda全家桶瘦身:仅保留Miniconda核心组件

Anaconda全家桶瘦身&#xff1a;仅保留Miniconda核心组件 在数据科学与AI开发的日常中&#xff0c;你是否曾为一个简单的训练脚本不得不拉取3GB以上的Anaconda镜像而感到迟疑&#xff1f;尤其是在CI/CD流水线中&#xff0c;每次构建都像在等待“系统启动”——索引加载缓慢、包…

作者头像 李华
网站建设 2026/5/20 0:50:24

如何通过Dockerfile定制你的Miniconda-Python3.10+PyTorch镜像

如何通过 Dockerfile 定制你的 Miniconda-Python3.10PyTorch 镜像 在 AI 和数据科学项目日益复杂的今天&#xff0c;你有没有遇到过这样的场景&#xff1f;同事说“我本地能跑”&#xff0c;但你拉下代码后却各种包冲突、版本不兼容&#xff1b;或者你在云服务器上训练模型时&…

作者头像 李华
网站建设 2026/5/20 15:49:26

CondaError: run ‘conda init‘ before ‘conda activate‘ 错误解决方案全记录

CondaError: run ‘conda init’ before ‘conda activate’ 错误解决方案全记录 在使用 Miniconda 或 Anaconda 的过程中&#xff0c;尤其是通过云镜像、容器或远程服务器部署 Python 环境时&#xff0c;很多开发者都曾遇到过这样一个看似简单却令人困惑的报错&#xff1a; Co…

作者头像 李华
网站建设 2026/5/23 0:44:28

GitHub热门开源项目推荐:基于Miniconda的轻量级AI实验复现环境

GitHub热门开源项目推荐&#xff1a;基于Miniconda的轻量级AI实验复现环境 在人工智能项目开发中&#xff0c;你是否曾遇到过这样的场景&#xff1f;刚从同事那里拿到一份能完美运行的代码&#xff0c;兴冲冲地在自己机器上一跑&#xff0c;却报出“ModuleNotFoundError”或“C…

作者头像 李华