当传入数据只有一个时mybatis中<if>判断会出现There is no getter for property named 'subjectId' in 'class java.lang.Intege

用"_parameter"代替当前参数

正确:

复制代码
复制代码
<select id="selectSubjectByPId"  parameterType="java.lang.Integer" resultType="java.util.Map">
        select subjectId,subjectName 
        from ts_subject 
        where subjectParentId= 0 
        <if test="_parameter != null">
            and subjectId = #{_parameter,jdbcType=INTEGER}
        </if>
</select>
复制代码
复制代码

错误:

复制代码
复制代码
<select id="selectSubjectByPId"  parameterType="java.lang.Integer" resultType="java.util.Map">
        select subjectId,subjectName 
        from ts_subject 
        where subjectParentId= 0 
        <if test="subjectId != null">
            and subjectId = #{subjectId,jdbcType=INTEGER}
        </if>
</select>
复制代码
复制代码

这时候就会出现异常.

There is no getter for property named 'subjectId' in 'class java.lang.Intege

 

posted @   cuiqq  阅读(542)  评论(1编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示