Mybatis There is no getter for property named 'XXX' in 'class java.lang.XXX
来源:互联网 发布:而又何羡乎的而 编辑:程序博客网 时间:2024/05/17 18:48
Mybatis查询
使用Mybatis查询时,其参数可以是基本数据类型或者像Integer和String这样的简单的数据对象,也可以是复杂对象(一般是指JavaBean)或者map等,当使用基本数据类型的参数时,若这个参数的使用放在了判断条件中,如下查询语句:
sql代码:
<select id="getNameList" parameterType="String" resultType="String"> <![CDATA[ SELECT DISTINCT NAME FROM T_PERSION WHERE 1=1 ]]> <if test="age!=null"> AND AGE = #{age} </if> </select>则可能会出现:
Errorlog代码
org.apache.ibatis.reflection.ReflectionException:There is no getter for property named 'XXX' in 'class java.lang.XXX的异常,问题的直接原因是由于上面的parameterType是基本的简单类型而后面有判断的if条件,若没有后面的判断条件,而是:
Sql代码:
<select id="getNameList" parameterType="String" resultType="String"> <![CDATA[ SELECT DISTINCT NAME FROM T_PERSION WHERE 1=1 AND AGE = #{age} ]]> </select>
则没有任何异常。
对上面的异常,网上说问题原因是Mybatis默认采用ONGL解析参数,所以会自动采用对象树的形式获取传入的变量值,解决方法有两个:
1.将参数名(上面的例子为‘age’)替换为"_parameter" ,即:
Sql代码:<select id="getNameList" parameterType="String" resultType="String"> <![CDATA[ SELECT DISTINCT NAME FROM T_PERSION WHERE 1=1 ]]> <if test="_parameter!=null"> AND AGE = #{_parameter} </if> </select>2,在接口中定义方法时 增加“@Param("参数名")” 标记,例如:
Sql代码:
List<String> getNameList(@Param("age")String age);
1 0
- Mybatis There is no getter for property named 'XXX' in 'class java.lang.XXX
- Mybatis中传参包There is no getter for property named 'XXX' in 'class java.lang.String'
- Mybatis-There is no getter for property named 'XXX' in 'class java.lang.String'解决办法
- Mybatis中传参包There is no getter for property named 'XXX' in 'class java.lang.String'
- mybatis:There is no getter for property named 'xxx' in 'class java.lang.String'
- Mybatis中传参包There is no getter for property named 'XXX' in 'class java.lang.String'
- Mybatis中传参包There is no getter for property named 'XXX' in 'class java.lang.String'
- MyBatis There is no getter for property named 'xxx' in 'class java.lang.String'
- Mybatis中传参包There is no getter for property named 'XXX' in 'class java.lang.String'
- MyBatis There is no getter for property named 'xxx' in 'class java.lang.String'
- MyBatis报错:There is no getter for property named 'xxx' in 'class java.lang.String'
- Mybatis中传参包There is no getter for property named 'XXX' in 'class java.lang.String'
- Mybatis中传参报There is no getter for property named 'XXX' in 'class java.lang.String'
- Mybatis中传参包There is no getter for property named 'XXX' in 'class java.lang.String'
- Mybatis中传参包There is no getter for property named 'XXX' in 'class java.lang.String'
- MyBatis:There is no getter for property named 'XXX' in 'class java.lang.XXXX'
- mybatis错误:There is no getter for property named 'xxx' in 'class java.lang.String'
- Mybatis异常There is no getter for property named 'XXX' in 'class java.lang.String
- 阅读郭林《第一行代码》的笔记——第14章 进入实战,开发酷欧天气
- iOS开发:后台运行以及保持程序在后台长时间运行
- Javascript 严格模式use strict
- 有没有length()这个方法? String 有没有length()这个方法?
- mac下通过sublime Text的sftp插件编辑远程服务器文件
- Mybatis There is no getter for property named 'XXX' in 'class java.lang.XXX
- 欢迎使用CSDN-markdown编辑器
- DevExpress GridControl 自定义列统计
- spring整合JPA总结
- 手动导入aar依赖
- Android系统分区
- 移动APP奔溃测试
- Java重修之路(九)面向对象之final关键字,抽象类(abstract),接口(interface)
- springMVC自定义注解,用AOP来实现日志记录