- 浏览: 208811 次
- 性别:
- 来自: 哈尔滨
文章分类
- 全部博客 (267)
- java.lang (8)
- 问题汇总 (21)
- 异常记录 (20)
- 功能实现 (19)
- 面试总结 (25)
- 技巧总结 (8)
- 常用代码 (4)
- 编程习惯 (3)
- 编码规则 (3)
- java.util (10)
- java.io (1)
- JavaWeb (9)
- MySQL (16)
- SVN (3)
- MyBatis (11)
- Velocity (7)
- 其他知识 (10)
- 人生哲理 (1)
- 人生故事 (1)
- 自我感悟 (1)
- shiro (3)
- 基础知识 (0)
- 问题总结 (1)
- Spring 标签 (1)
- Spring (3)
- 点滴生活 (1)
- DOS (1)
- CAS (4)
- Linux (9)
- Storm (6)
- Shell (1)
- regex (1)
- Collection (4)
- poi (1)
- 经典语句 (1)
- NIO (5)
- concurrent (14)
- RPC (1)
- zookeeper (3)
- 待整理 (2)
- Hadoop (9)
- RabbitMq (2)
- flume (1)
- hive (7)
- hbase (4)
- kafka (1)
- scala (1)
- GC (0)
- java.util.concurrent.atomic (1)
- java.lang.ref (6)
- JVM (2)
- algorithm (1)
- conception (1)
- java key word (1)
- sun.misc (1)
最新评论
报错原因:
1.用mybatis查询时,传入一个字符串传参数,且进行判断时,会报异常
2.mapper.xml 中id值有重复的(出现原因:拷贝上面的实现,修改下参数或SQL,忘记ID值唯一的修改了)
1.错误写法:
需要修改成:
总结:不管你的参数是什么,都要改成"_parameter"
原文地址:http://txin0814.iteye.com/blog/1533645
参考文献:http://blog.csdn.net/noku_ln10/article/details/7977976
2.改写parameter_type为 map
接口:
Mapper.xml
注意:
1.parameterType="java.util.Map" Map为大写,若写成map会报错
2.或直接写成map
调用:
3.若封装在工具类中需要引用
注意:
merchantid = #{parameter.merchantid,jdbcType=VARCHAR},若为
merchantid = #{merchantid,jdbcType=VARCHAR},就会出现上面的错误
1.用mybatis查询时,传入一个字符串传参数,且进行判断时,会报异常
2.mapper.xml 中id值有重复的(出现原因:拷贝上面的实现,修改下参数或SQL,忘记ID值唯一的修改了)
There is no getter for property named 'moduleCode' in 'class java.lang.String
1.错误写法:
<select id="queryAllParentModule" resultType="jobModule" prameterType="jobModule"> select modulecode,modulename,modulevalue,linkurl,rank, parentmodule=isnull(parentmodule,1),moduledescription from job_module <where> <choose> <when test="moduleCode!=null and moduleCode!=''">modulecode = #{moduleCode} </when> </choose> </where> </select>
需要修改成:
<select id="queryModuleByCode" resultType="jobModule" parameterType="string"> select modulecode, modulename,modulevalue,linkurl, rank,parentmodule=isnull(parentmodule,1),moduledescription from job_module <where> <choose> <when test="_parameter!=null and _parameter!=''">modulecode = #{_parameter}</when> </choose> </where> </select>
总结:不管你的参数是什么,都要改成"_parameter"
原文地址:http://txin0814.iteye.com/blog/1533645
参考文献:http://blog.csdn.net/noku_ln10/article/details/7977976
2.改写parameter_type为 map
接口:
public List<Long> viewUidsLikeName(Map<String, Object> params);
Mapper.xml
<select id="viewUidsLikeName" resultType="java.lang.Long" parameterType="java.util.Map"> SELECT id FROM usr_users where 1=1 <if test="username != null"> and username like concat ('%','${username}','%') </if> <if test="email != null"> and email like concat ('%','${email}','%') </if> </select>
注意:
1.parameterType="java.util.Map" Map为大写,若写成map会报错
2.或直接写成map
调用:
public List<Long> selectUidsByUsername(String username) { if(StringUtil.isBlank(username)){ return null ; } Map<String, Object> params = new HashMap<String, Object>(); if(UserUtils.isEmailAdress(username)){ params.put("email", username); }else{ params.put("username", username); } return userMapper.viewUidsLikeName(params); }
3.若封装在工具类中需要引用
<select id="selectscheduleTrackingsListPage" resultMap="BaseResultMap" parameterType="mybatis.utility.PageBean"> SELECT <include refid="Base_Column_List" /> from usr_merchant_schedule_tracking where 1 = 1 <if test="parameter.startTime != null and parameter.startTime !=''"> and date_format(create_time,'%Y-%m-%d') >= date_format(#{parameter.startTime},'%Y-%m-%d') </if> <if test="parameter.endTime != null and parameter.endTime !=''"> <![CDATA[ and date_format(create_time,'%Y-%m-%d') <= date_format(#{parameter.endTime},'%Y-%m-%d') ]]> </if> <if test="parameter.merchantid != null and parameter.merchantid !=''"> and merchantid = #{parameter.merchantid,jdbcType=VARCHAR} </if> </select>
注意:
merchantid = #{parameter.merchantid,jdbcType=VARCHAR},若为
merchantid = #{merchantid,jdbcType=VARCHAR},就会出现上面的错误
发表评论
-
can not find xxx.xxx
2017-10-03 10:20 404问题描述: 单元测试一个已离职同事的接口,运行时提示 po ... -
为什么运行接口无返回值
2017-10-02 18:08 778问题场景: 与同事共同开发一个项目,调用其开发的接口,未接收 ... -
xxxList not found
2015-05-20 08:51 670问题:MyBatis接口中以list作为参数类型,在mappe ... -
Result Maps collection already contains value for mapper.XXX
2015-05-14 08:53 2122问题:运行单元测试类时报错 原因:应该用resultMap来 ... -
常用mapper方法
2015-05-11 19:49 6921.insert,表中有时间字段,且字段值为当前时间,可以在m ... -
确认方法没有错误,但查询结果不正确
2015-05-07 09:37 855问题:在调试某web工程时,发现一个po.getXXX()没有 ... -
语法错误,查询条件中带有多余的单引号
2015-05-07 09:27 723场景:列表检索功能,查询条件中带有英文单引号,点击查询,系统异 ... -
MyBatis的动态SQL详解
2015-04-29 19:21 663[size=medium]MyBatis的动态SQL是基于OG ... -
MyBatis中resultType和resultMap的区别
2015-04-29 15:28 3865[size=medium][align=left] MyBat ... -
mybatis中的#和$的区别?
2015-04-27 09:24 5681. #将传入的数据都当成一个字符串,会对自动传入的数据加 ...
相关推荐
然而,当遇到单个参数是基本类型如`java.lang.Integer`或`java.lang.String`时,如果按照处理对象类型的参数方式直接在`<if>`中使用参数名,可能会遇到异常`There is no getter for property named 'xxx' in 'class ...
在使用Mybatis框架进行数据库交互时,偶尔会遇到一个奇怪的问题,即在mapper接口中遇到"There is no getter for property"异常。这个异常的出现原因是由于Mybatis框架在映射实体类的属性时,无法找到对应的getter...
MyBatis中的拦截器(Interceptor)是基于Java的动态代理机制实现的,它可以拦截执行SQL的生命周期中的某些环节,如:预处理、结果映射等。在分页拦截器中,它会在执行查询之前对SQL进行修改,自动添加LIMIT和OFFSET...
Mybatis PageHelper分页插件是一款广泛使用的Java框架,它为Mybatis提供了强大的分页功能。在使用Mybatis进行数据库操作时,分页查询是非常常见且重要的需求,尤其是在处理大量数据时,避免一次性加载所有结果,提高...
#### 四、异常 javax.servlet.jsp.JspException: No getter method for property username of bean **异常描述**: 当使用Struts标签库访问Form Bean中的属性时,如果该属性没有对应的getter方法,则会出现此异常。...
public Book(String title, String author, String publisher) { this.title = title; this.author = author; this.publisher = publisher; } // Getter & Setter 方法 public String getTitle() { return ...
提供调用getter/setter方法, 访问私有变量, 调用私有方法, 获取泛型类型Class,java * 反射工具类. 提供调用getter/setter方法, 访问私有变量, 调用私有方法, 获取泛型类型Class,java * 反射工具类. 提供调用getter/...
String longString = "This string is very long and should be split into multiple lines to comply with the code style guidelines."; ``` --- ##### 13. 行中含有 Tab 字符 **提示**: Line contains a tab ...
在构建一个基于JSP(JavaServer Pages)和JavaBean的网上书店系统时,我们需要掌握一些核心的IT知识点。首先,让我们深入理解JSP和JavaBean技术,并探讨如何将它们结合起来创建一个功能完善的网上书店。 **1. JSP...
2. **处理日期Bean**(java处理日期bean.txt):在Java中,日期和时间的处理通常使用`java.util.Date`,`java.time`包(自Java 8引入)以及`java.text.SimpleDateFormat`等类。Bean是一种遵循特定规则的对象,用于...
- **其他类型**:`java.lang.Class` 一般映射为 `VARCHAR`,`java.util.Locale` 存储为 `VARCHAR`,`java.util.TimeZone` 用 `VARCHAR` 表示,`java.util.Currency` 也映射到 `VARCHAR` 类型。 **2. 数据库差异** ...
public static <T> T convert(Map<String, String> parameters, Class<T> clazz) throws Exception { T bean = clazz.getDeclaredConstructor().newInstance(); BeanInfo beanInfo = Introspector.getBeanInfo...
- **运行时反射**:除了编译时处理,还可以在运行时通过反射获取注解的值,如`MyAnnotation myAnno = field.getAnnotation(MyAnnotation.class); String value = myAnno.value();` 3. **工具支持**: - **Apache ...
字符串(String)在Java中是不可变对象,常用于数据处理。数组是存储固定数量同类型元素的数据结构,理解其创建、遍历和操作是基础。 4. **J1410_NIO.pdf**:非阻塞I/O(New I/O,NIO)是Java提供的异步I/O模型,包括...
<property name="name" type="java.lang.String" length="20"/> <property name="pwd" type="java.lang.String" length="20"/> </class> ``` - `tb_user`为数据库中的表名。 - `id`字段为主键,采用`native`...
- **DWR for Struts2**:dwr4struts2.jar - **Freemarker模板引擎**:freemarker-2.3.8.jar - **JSON处理**:jsonplugin-0.31.jar - **ibatis核心库**:ibatis-2.3.0.677.jar - **Spring框架**:spring.jar - **...
### JAVA实验项目知识点详解 #### 项目一:Java 语言基础(一) 1. **编写控制台输出“Hello World!”的 Java 应用程序** - **记事本编写** ```java public class HelloWorld { public static void main...
### Java反射机制与NoSuchMethodException详解 在Java编程中,反射是一种强大的机制,允许程序在运行时检查和修改自身结构和行为。然而,当开发者尝试使用反射调用一个不存在的方法时,便会遇到`java.lang....
在Java编程语言中,"图书信息"通常涉及到数据结构、对象和类的设计,以及文件处理。在这个场景下,我们可以创建一个图书类(Book)来存储关于书籍的各种信息,如书名、作者、出版年份等。`import java.awt.event`是...