最近在开发一个项目,用到的是Ibatis,因为本人以前开发都是用的Hibernate,所以对Ibatis也是接触的并不多。在昨天的开发过程中,发现写模糊查询语句时用#给参数赋值时一直报找不到属性的异常,起初还一直以为是paramMap在赋值时出现问题,如下
<isNotNull property="name" prepend="and">
name like '#name#%'
</isNotNull>
这是我起初的写法,结果报
com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred while applying a parameter map.
--- Check the goods.ibatorgenerated_countByExample-InlineParameterMap.
--- Check the parameter mapping for the 'name' property.
--- Cause: java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).
解决办法也很简单,因为模糊查询是针对字符串而言的,如果遇到两个单引号要包含一个参数,则不能再用#来引用变量了,而应该改为$,比如:'$name$%',当然,也可以使用 #name# || '%' 或者conact(#name#,"%")来绕过此问题。
分享到:
相关推荐
iBATIS模糊查询 iBATIS模糊查询是指使用iBATIS框架实现模糊查询的方法。模糊查询是指在数据库中搜索包含指定字符串的记录,通常...iBATIS模糊查询可以帮助开发者快速实现模糊查询功能,但需要注意安全性和性能问题。
标题 "IBatis完成单表基本的数据库操作 模糊查询" 涉及到的是使用iBatis这个轻量级的持久层框架进行数据库的基本操作,特别是模糊查询。iBatis是一个优秀的SQL映射框架,它允许开发者将SQL语句与Java代码分离,提高...
当需要执行一个模糊查询时,通常会使用`LIKE`关键字配合通配符`%`。例如,以下SQL语句将查询所有姓“张”的学生: ```sql SELECT * FROM T_STUDENT WHERE S_NAME LIKE '张%'; ``` 在iBATIS中,可以使用类似的方法...
-- 模糊查询不能用 #,# 在是用 prepareStatement 的? 插入参数,$ 是文本替换 --> notelike '%$note$%' ``` #### 三、使用 Map 传递参数 **知识点3:** 使用 Map 作为参数传递到 SQL 语句中,可以更加灵活...
掌握Ibatis的模糊查询技术,不仅可以使开发者编写出更灵活、可维护的代码,还能提高数据库查询性能,避免全表扫描,降低数据库负载。 总的来说,Ibatis的模糊查询功能是其强大之处之一,它使得开发者能够更加方便地...
在本教程"07_ibatis教程_模糊查询实体对象"中,我们将深入学习如何使用iBatis这个流行的Java持久层框架进行模糊查询操作,尤其是在处理实体对象时。iBatis作为一个轻量级的ORM(Object-Relational Mapping)工具,它...
特别是在使用类似`LIKE`这样的操作符时,如果用户输入的数据中含有`%`、`_`或`#`等特殊字符,那么这些字符可能会被SQL解释器误认为是通配符或者特殊符号,导致查询结果不符合预期。本文将详细介绍如何在ibatis框架下...
- 在编写SQL时,应避免使用全模糊匹配`LIKE '%text%'`,而应尽可能使用带有前缀或后缀的模糊匹配,如`LIKE 'text%'`,这可以显著提升查询效率。 - 使用`EXISTS`子查询通常比直接关联查询更高效,尤其是在数据量大...
Ibatis,全称为“SQL Map”,是一个开源的Java持久层框架,它允许...以上就是关于Ibatis实现模糊查询、关联查询以及增删改查的基本知识。在使用过程中,还需注意SQL注入防护、性能优化等问题,确保代码的安全性和效率。
根据提供的文件信息,我们可以从中提炼出与ibatis及其Example特性相关的知识点。以下是对这些知识点的详细阐述: ### 1. **ibatis简介** ...希望本文能对你理解和使用ibatis及其Example特性提供一定的帮助。
在iBatis配置中,可以使用等标签来确保只有当日期字段不为空时,才会将相应的日期范围查询条件拼接到SQL语句中。 6. list集合:当需要根据一组特定的值进行查询时,例如IN操作,iBatis允许将list集合作为参数传递。...
模糊查询常用于文本搜索,Ibatis支持在SQL语句中使用`LIKE`关键字结合通配符进行模糊匹配。例如,用户输入的部分关键词可以与数据库中的数据进行比较。 ```xml SELECT * FROM users WHERE username LIKE CONCAT('...
iBATIS课件 iBATIS简介 搭建环境 配置文件 读取配置 基本的CRUD操作 模糊查询 iBATIS代码生成工具iBATOR 优缺点 选择Hibernate还是iBATIS
模糊查询通常涉及SQL的`LIKE`操作,可以在iBatis的映射文件中配置,然后在JSF页面提供搜索框,将输入传递给后台进行模糊匹配。 9. **错误处理和验证**:JSF提供了内置的验证机制,可以对用户输入进行校验,防止无效...
与 Hibernate 相比,IBatis 提供了更多的控制权,特别适合那些需要对 SQL 查询进行精细化控制的应用场景。 #### 二、IBatis 配置文件详解 在给定的示例中,可以看到一个典型的 IBatis 配置文件结构。该文件定义了...
此外,该工具可能还包含了对复杂的查询条件的支持,比如模糊搜索、分页查询等,这些在生成的SQL中会以动态SQL的形式出现,使得代码更加简洁和易于维护。对于大型项目而言,这种自动化生成的功能能够显著减少编码时间...
在Ibatis的XML配置文件中,可以使用`<if>`标签来插入动态SQL部分,结合`#{}`占位符和通配符,实现动态模糊查询。例如: ```xml SELECT * FROM my_table WHERE column_name LIKE #{searchKeyword} ``` 在...
本篇文章将深入探讨如何使用Ibatis框架实现对`student`表的增删改查操作,包括模糊查询以及利用序列自动生成主键。 首先,我们来理解Ibatis的基本概念。Ibatis是由Apache基金会维护的一个开源项目,它是一个SQL映射...
- `aname like '%$aname%$'`:模糊查询。 - `</isNotEmpty>` - `</dynamic>` #### 三、Java工具类实现 接下来是`Tools.java`工具类的部分代码片段。 ```java private static SqlMapClient sqlMapper; static {...