1. org.apache.ibatis.binding.BindingException: Parameter 'XXXX' not found.There is no getter for property named ‘XXX‘ in ‘class XXX

    • 原因分析(首先这个问题在 Dao 层)

      1. 检查 SQL 语句,#{}中的内容是否存在拼写错误,或者与参数中@param注解中不一致的情况
      2. @param的使用错误,使用方法参考:MyBatis参数传递
  2. Mapper method 'priv.dandelion.dao.BrandMapper.selectTotalCountByCondition attempted to return null from a method with a primitive return type (int).

    • 原因分析:

      1. 是未配置 导致数据库与需要使用的名称不一致,需要配置@ResultMap使其名称一致就可以了

      2. 第二种情况就是误配置,如selectTotalCount 无返回值类型 就不要使用 @ResultMap,使用resultType,二者都不用会报错

        <select id="selectTotalCountByCondition" resultType="java.lang.Integer">
        select count(*) from tb_brand
        <where>
        <if test="brand.brandName != null and brand.brandName != ''">
        brandName like #{brand.brandName}
        </if>
        <if test="brand.companyName != null and brand.companyName != ''">
        and companyName like #{brand.companyName}
        </if>
        <if test="brand.status != null">
        and status = #{brand.status}
        </if>
        </where>
        </select>
  3. Unknown column 'companyName' in 'where clause'

    • 原因分析:并没有按照resultMap进行解析,where 标签中的内容必须要和数据库中一致

      • 错误代码

        <!-- 条件查询 -->
        <select id="selectByPageAndCondition" resultMap="brandResultMap">
        select * from tb_brand
        <where>
        <if test="brand.brandName != null and brand.brandName != ''">
        brandName like #{brand.brandName}
        </if>
        <if test="brand.companyName != null and brand.companyName != ''">
        and companyName like #{brand.companyName}
        </if>
        <if test="brand.status != null">
        and status = #{brand.status}
        </if>
        </where>
        limit #{begin}, #{pageSize}
        </select>
      • 更整后代码

        <!-- 条件查询 -->
        <select id="selectByPageAndCondition" resultMap="brandResultMap">
        select * from tb_brand
        <where>
        <if test="brand.brandName != null and brand.brandName != ''">
        brand_name like #{brand.brandName}
        </if>
        <if test="brand.companyName != null and brand.companyName != ''">
        and company_name like #{brand.companyName}
        </if>
        <if test="brand.status != null">
        and status = #{brand.status}
        </if>
        </where>
        limit #{begin}, #{pageSize}
        </select>

JavaWeb踩坑记录的更多相关文章

  1. unionId突然不能获取的踩坑记录

    昨天(2016-2-2日),突然发现系统的一个微信接口使用不了了.后来经查发现,是在网页授权获取用户基本信息的时候,unionid获取失败导致的. 在网页授权获取用户基本信息的介绍中(http://m ...

  2. CentOS7.4安装MySQL踩坑记录

    CentOS7.4安装MySQL踩坑记录 time: 2018.3.19 CentOS7.4安装MySQL时网上的文档虽然多但是不靠谱的也多, 可能因为版本与时间的问题, 所以记录下自己踩坑的过程, ...

  3. ubuntu 下安装docker 踩坑记录

    ubuntu 下安装docker 踩坑记录 # Setp : 移除旧版本Docker sudo apt-get remove docker docker-engine docker.io # Step ...

  4. SpringBoot + Shiro + shiro.ini 的踩坑记录

    0.写在前面的话 好久没写博客了,诶,好多时候偷懒直接就抓网上的资料丢笔记里了,也就没有自己提炼,偷懒偷懒.然后最近参加了一个网络课程,要交作业的那种,为了能方便看下其他同学的作业,就写了个爬虫把作业 ...

  5. 你真的了解字典(Dictionary)吗? C# Memory Cache 踩坑记录 .net 泛型 结构化CSS设计思维 WinForm POST上传与后台接收 高效实用的.NET开源项目 .net 笔试面试总结(3) .net 笔试面试总结(2) 依赖注入 C# RSA 加密 C#与Java AES 加密解密

    你真的了解字典(Dictionary)吗?   从一道亲身经历的面试题说起 半年前,我参加我现在所在公司的面试,面试官给了一道题,说有一个Y形的链表,知道起始节点,找出交叉节点.为了便于描述,我把上面 ...

  6. google nmt 实验踩坑记录

       最近因为要做一个title压缩的任务,所以调研了一些text summary的方法.    text summary 一般分为抽取式和生成式两种.前者一般是从原始的文本中抽取出重要的word o ...

  7. ABP框架踩坑记录

    ABP框架踩坑记录 ASP.NET Boilerplate是一个专用于现代Web应用程序的通用应用程序框架. 它使用了你已经熟悉的工具,并根据它们实现最佳实践. 文章目录 使用MySQL 配置User ...

  8. SpringBoot+SpringSecurity+Thymeleaf认证失败返回错误信息踩坑记录

    Spring boot +Spring Security + Thymeleaf认证失败返回错误信息踩坑记录 步入8102年,现在企业开发追求快速,Springboot以多种优秀特性引领潮流,在众多使 ...

  9. IDFA踩坑记录

    IDFA踩坑记录: 1.iOS10.0 以下,即使打开“限制广告跟踪”,依然可以读取idfa: 2.打开“限制广告跟踪”,然后再关闭“限制广告跟踪”,idfa会改变: 3.越狱机器安装开发证书打的包, ...

  10. 复杂业务下向Mysql导入30万条数据代码优化的踩坑记录

    从毕业到现在第一次接触到超过30万条数据导入MySQL的场景(有点low),就是在顺丰公司接入我司EMM产品时需要将AD中的员工数据导入MySQL中,因此楼主负责的模块connector就派上了用场. ...

随机推荐

  1. NSThread的start方法内部做了什么?

    下面是NSThread start方法的汇编码: 1 1 1 ;Foundation`-[NSThread start]: 2 2 2 -> 0x7fff2594f47f <+0>: ...

  2. 高性能远程控制软件,完美替代Anydesk

    Anydesk是一款来自德国的远程软件,据悉是Teamviewer团队成员出来独立门户做的.Anydesk给人一种小而美的感觉,软件体积小,性能高,被视为Teamviewer的替代产品.现在,AnyD ...

  3. AIRIOT物联网低代码平台如何配置http客户端?

    AIRIOT物联网低代码平台一直保持和市场脉搏同频,支持市面上95%以上驱动,驱动能力夯实,大大满足任意数据采集需求.AIRIOT支持分布式部署,数据采集能力强,解决海量数据采集一台服务器采集困难的问 ...

  4. webapi创建WCF WebService+WCF WebService远程服务调用

    首先需要引入soapcore包 这个包提供了所需的类和soap终结点中间件. 引入这个这个包之后,我们需要定义提供的服务. 这里我写了一个用于查询省份面积的服务. 省份信息服务 /// <sum ...

  5. Semantic Kernel入门系列:利用Handlebars创建Prompts functions

    引言 本章我们将学习通过Handlebars Prompts Template来创建Prompts functions. 什么是Handlebars? Handlebars是一个流行的 JavaScr ...

  6. OpenOCD + DAP-LINK调试ESP32的失败经历

    目的 手里有调试STM32的DAP-LINK,想试试通过JTAG调试ESP32 OpenOCD支持CMSIS-DAP DAP-LINK支持的芯片,我手上这款描述如下,应该JTAG协议的都支持 平台 w ...

  7. 【C#】字符串按条件替换关键字

    private string MyReplace(string json, string keyWord, string newWord, Func<string, string, bool&g ...

  8. Vue cli单文件组件的使用

    整个项目是一个主文件index.html,index.html中会引入src文件夹中的main.js,main.js中会导入顶级单文件组件App.vue,App.vue中会通过组件嵌套或者路由来引用其 ...

  9. WPF 中使用附加属性解决 PasswordBox 的数据绑定问题

    1.前言 在 WPF 开发中 View 中的数据展示我们常通过 Binding 进行绑定.但是,使用 Binding 有一个前提:绑定的目标只能是依赖属性. 而 PasswordBox 控件中的 Pa ...

  10. 《HelloGitHub》第 98 期

    兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣.入门级的开源项目. https://github.com/521xueweiha ...