在公司项目开始之前,根据springboot 、mybatis、Swagger2 整合了一个demo,在测试时候,遇到的问题,简单记录。之前在使用mybatis时候,没有注意到这一点。

1、错误:There is no getter for property named 'classid' in 'class java.lang.String'

2、错误场景:再代码传递参数时候,只是传递了 字符串 类型的,但是在 mapper.xml 文件中使用了类似这样的判断

如下:

注意:这种写法本身是没有问题的
<select id="getStudentById" resultMap="selectAllStudentMap" parameterType="java.lang.String">
select * from t_student
<where>
<if test="id != null and id != '' ">
id = #{id,jdbcType=VARCHAR }
</if>
</where>
</select>

因为在 dao ,service层中,传递的是对象student,<if>标签的判断是完全可以的。

但是为了测试单个字符串传递参数的情况(参数不封装到map或者对象中),这种写法就会报错,如上的错误。

解决方式,如下,使用了 “_parameter” 这个标识,如下:

<select id="getStudentById2" resultMap="selectAllStudentMap" parameterType="java.lang.String">
select * from t_student
<where>
<if test="_parameter != null and _parameter != '' ">
id = #{id,jdbcType=VARCHAR }
</if>
</where>
</select>

解决方式2::去掉<if>标签,因为这是给bean进行判断的,如下:

去掉<if>标签
<select id="getStudentById2" resultMap="selectAllStudentMap" parameterType="java.lang.String">
select * from t_student
<where>
id = #{id,jdbcType=VARCHAR }
</where>
</select>

问题解决,可以使用  Swagger2 生成的 api文档页面进行测试了。

3、参考的文档(一个问题的讨论)http://bbs.csdn.net/topics/350253850?page=1

4、插一句嘴吧

       springboot使用起来很清爽;

       zookeeper和dubbo;

         springcloud;

         搜索;

         淘淘商城的视频;  

  

        

<正则吃饺子> :关于mybatis中使用的问题(一)的更多相关文章

  1. <正则吃饺子>:关于java中垃圾回收技术的简单学习总结

    知识介绍来自网络,后面会根据继续学习进行补充和适当的修改,谢谢!原文地址:http://www.importnew.com/26821.html#comment-578355 java中的垃圾回收机制 ...

  2. <正则吃饺子> :关于redis集群的搭建、集群测试、搭建中遇到的问题总结

    项目中使用了redis ,对于其基本的使用,相对简单些,根据项目中已经提供的工具就可以实现基本的功能,但是只是这样的话,对于redis还是太肤浅,甚至刚开始时候,集群.多节点.主从是什么,他们之间是什 ...

  3. <正则吃饺子>:关于java中对内存部分的简单总结整理

    在项目和一些群讨论中,经常看到对内存的处理,但是,自己确是一知半解的,基于此,就把这部分的知识简单的整理了下,知识点来源于网络博文,也一一标明出处,谢谢. package com.love.malin ...

  4. <正则吃饺子> :关于Collections中 比较器的简单使用

    在线文档地址: http://tool.oschina.net/apidocs/apidoc?api=jdk-zh sort public static <T extends Comparabl ...

  5. <正则吃饺子> :关于oracle 中 with的简单使用

    oracle中 with的简单使用介绍,具体可以参见其他的博文介绍,在这里只是简单的介绍: with 构建了一个临时表,类似于存储过程中的游标,我是这么理解的. 一.数据准备: select * fr ...

  6. <正则吃饺子> :关于Guava中 Joiner 和 Splitter 的简单使用

    在现在项目中经常看到 这两个类的使用,开始时候不明白具体是做的什么事情,就单独拿出来学习下了,参照了网上的博文,这里主要是简单的讲讲用法. 具体对这两个类,不做过多介绍,有个在线文档,需要的可以自己去 ...

  7. <正则吃饺子> :关于oracle 中 exists 、not exists 的简单使用

    话不多说,简单的总结而已.网络上很多很详细介绍. 例如,博文:http://blog.csdn.net/zhiweianran/article/details/7868894  当然这篇也是转载的,原 ...

  8. <正则吃饺子> :关于 Matcher 的 replaceAll 的简单使用

    在线文档地址:http://tool.oschina.net/apidocs/apidoc?api=jdk-zh replaceAll public String replaceAll(String  ...

  9. <正则吃饺子> :关于Java的native方法(转)

    感谢作者的分享,原文地址:http://blog.csdn.net/wike163/article/details/6635321 一. 什么是Native Method   简单地讲,一个Nativ ...

随机推荐

  1. 使用JSTL在页面前的空行怎么去除?

    解决的方法是:在每个JSP的头上加上一段代码   <%@ page trimDirectiveWhitespaces="true" %>

  2. LeetCode:乘法表中的第K小的数【668】

    LeetCode:乘法表中的第K小的数[668] 题目描述 几乎每一个人都用 乘法表.但是你能在乘法表中快速找到第k小的数字吗? 给定高度m .宽度n 的一张 m * n的乘法表,以及正整数k,你需要 ...

  3. c的详细学习(5)数组

        到目前为止,前面介绍的都是属于基本类型的数据.除此之外,C语言还提供了一些更为复杂的数据类型,称为构造类型.数组就是最基本的构造类型.若要针对一批数据进行某种操作,采用数组是一种方便可行的方法 ...

  4. Spring Cloud之ZuulFilter拦截请求参数

    过滤器放到网关: package com.toov5.filter; import javax.servlet.http.HttpServletRequest; import org.apache.c ...

  5. bootstrap0

    bootstrap模板为使IE6.7.8版本(IE9以下版本)浏览器兼容html5新增的标签,引入下面代码文件即可. <script src="https://oss.maxcdn.c ...

  6. linux shell 编程(一)

    脚本:命令的堆砌,按照实际需要结合命令流程控制机制实现的源程序 linux 内核只能识别 elf格式的文件(可执行的可链接的文件) 脚本的第一行写 #!/bin/bash 表示脚本解释器

  7. 未测试 Delphi读写UTF-8、Unicode格式文本文件

    // UTF-8文件写入函数 procedure SaveUTFFile(const FileName: string; S: string; WriteHeader: Boolean = True) ...

  8. windows下安装配置nginx

    下载nginx-1.0.11.zip, 解压到到nginx目录下 D:\nginx\conf 修改conf下的nginx.conf文件, 默认是80端口,若该端口被占则可以修改 listen 8073 ...

  9. pom详解

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  10. Idea_学习_05_Intellij Idea自动添加注释的方法

    二.参考资料 1. Intellij Idea自动添加注释的方法