`
hai0378
  • 浏览: 536734 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Mysql ibatis 模糊查询

 
阅读更多

真实代码摘录 :

<isNotEmpty prepend="AND" property="companyName"> 
					<![CDATA[ companyName like concat('%',#companyName#,'%' )]]>
			 </isNotEmpty> 

 

 

网上文章方案:

 

ibatis中使用like模糊查询
 
无效的方法:
1
2
Sql代码 
select  from table1 where name like '%#name#%'

 

两种有效的方法:
1. 使用$代替#。此种方法就是去掉了类型检查,使用字符串连接,不过可能会有sql注入风险。
1
2
Sql代码 
select  from table1 where name like '%$name$%'

 

 
2.使用连接符。不过不同的数据库中方式不同。
1
2
3
4
5
6
7
8
9
mysql:
Sql代码 
select  from table1 where name like concat('%', #name#, '%'
oracle:
Sql代码 
select  from table1 where name like '%' || #name# || '%' 
 sql server:
Sql代码 
select  from table1 where name like '%' + #name# + '%'

 

  
注意:在实际开发中,往往我们需要将模糊查询的空格去掉。为了防止将去除空格放到业务层去,因此我建议如下写(oracle 中,其他数据库雷同):
1
2
Sql代码 
select  from table1 where name like '%' || Trim(#name#) || '%' 

 

分享到:
评论

相关推荐

    iBATIS模糊查询

    iBATIS模糊查询 iBATIS模糊查询是指使用iBATIS框架实现模糊查询的方法。模糊查询是指在数据库中搜索包含指定字符串的记录,通常使用LIKE谓词来实现。 在iBATIS中,模糊查询可以通过在映射文件中定义SQL语句来实现...

    ibatis的动态查询

    **知识点1:** 在进行模糊查询时,ibatis支持两种不同的语法标记:`#` 和 `$`。 1. **使用 `$value$` 进行模糊查询:** - 在进行模糊查询时,使用 `$value$` 的方式更为安全且易于实现。 - 正确的语法应为 `name ...

    操作数据库 iBATIS查询

    当需要执行一个模糊查询时,通常会使用`LIKE`关键字配合通配符`%`。例如,以下SQL语句将查询所有姓“张”的学生: ```sql SELECT * FROM T_STUDENT WHERE S_NAME LIKE '张%'; ``` 在iBATIS中,可以使用类似的方法...

    ibatis常见案例

    本篇文章将深入探讨Ibatis在实际应用中的常见案例,包括多表查询、分页、增删改查、模糊查询以及按指定列查询。 **1. 多表查询** 在实际项目中,多表查询是非常常见的需求。Ibatis通过`&lt;select&gt;`标签和`...

    ibatisDemo

    "ibatisDemo"是一个示例项目,旨在展示如何在实际开发中运用Ibatis进行MySQL数据库的单表操作,包括增、删、改、查以及模糊查询和多参数查询等基本功能。以下是对这个项目及其相关知识点的详细解释: 1. **Ibatis...

    ibatis sql生成工具

    此外,该工具可能还包含了对复杂的查询条件的支持,比如模糊搜索、分页查询等,这些在生成的SQL中会以动态SQL的形式出现,使得代码更加简洁和易于维护。对于大型项目而言,这种自动化生成的功能能够显著减少编码时间...

    简单的查询显示例子做的,文件里有mysql的数据库文件

    在本案例中,查询采用了`iBatis`的动态模糊查询,这是一种强大的Java持久层框架,允许开发者将SQL语句直接写在XML配置文件或注解中,使得SQL与Java代码分离,提高可维护性。动态模糊查询允许用户输入关键词,系统...

    ibatis框架实现的增删改查

    本篇文章将深入探讨如何使用Ibatis框架实现对`student`表的增删改查操作,包括模糊查询以及利用序列自动生成主键。 首先,我们来理解Ibatis的基本概念。Ibatis是由Apache基金会维护的一个开源项目,它是一个SQL映射...

    ibatis入门.doc

    - 模糊查询时,若需要匹配任意字符,注意Ibatis的占位符规则。例如,`'%#val#%'`在实际SQL中会被解析为`'%val%'`,避免使用`#`符号,可以改为`'%$val$%'`。 Ibatis的灵活性在于它可以让你编写原生的SQL,同时提供了...

    Mybatis 中 Oracle 的拼接模糊查询及用法详解

    Mybatis 中 Oracle 的拼接模糊查询及用法详解 Mybatis 是一个基于 Java 的持久层框架,提供了强大的数据库交互能力,而 Oracle 则是业界最流行的关系数据库管理系统。本文将详细介绍 Mybatis 中 Oracle 的拼接模糊...

    iBATIS有关资料

    例如,以下是一个模糊查询的例子,它通过`LIKE`操作符查找名字包含特定字符串的STUDENT记录: ```xml resultMap="allColumn" resultClass="Student"&gt; SELECT * FROM STUDENT WHERE ID &gt; 0 AND NAME LIKE '%$...

    数据库迁移及区别比较(Oracle,Sql Server,MySql).docx

    5. **模糊查询**:MySQL的模糊查询通常使用`LIKE`,而SQL Server和Oracle支持更复杂的通配符查询。 在ORM(对象关系映射)工具如Hibernate和iBatis中,数据库迁移可能导致效率变化。例如,某些数据库特定的优化可能...

    ibatis学习笔记

    ### 八、模糊查询实体对象 **A. select标签** 示例: ```xml SELECT * FROM STUDENT WHERE NAME LIKE '%${name}%' ``` **B. 业务逻辑模糊查询** 示例: ```java List&lt;Student&gt; students = session.select...

    通过ibatis解决sql注入问题

    在某些情况下,我们需要使用LIKE语句来进行模糊查询。在这种情况下,我们需要使用特殊的写法来避免SQL注入问题。 例如,对于Oracle数据库,我们可以使用以下写法: ```sql String sql = "SELECT * FROM t_user ...

    #_ssm_137_mysql_数据结构课堂学生考勤管理系统_.zip

    在提供的文件信息中,我们看到标题为"#_ssm_137_mysql_数据结构课堂学生考勤管理系统_.zip",描述内容与标题相同,没有提供标签,而文件名称列表揭示了该压缩包内包含的文件结构。从这些信息中,我们可以推断出一些...

    mybatis文档

    - like 查询:处理模糊查询。 - 动态 SQL 查询:支持条件查询,如 `&lt;if&gt;`、`&lt;choose&gt;`、`&lt;when&gt;`、`&lt;otherwise&gt;` 等标签。 - 动态更新:使用 `&lt;set&gt;` 标签处理更新语句中动态部分。 - `&lt;foreach&gt;`:构建 in 条件...

    mybatis第一天课堂笔记.docx

    - **模糊查询**:根据用户名模糊查询,利用动态SQL功能实现。 - **添加**:使用`insert`标签定义插入语句,并处理自增主键返回。 - **删除**:使用`delete`标签定义删除语句。 - **更新**:使用`update`标签定义更新...

    基于java的企业级应用开发:初识MyBatis.ppt

    例如,查询操作可以分为精确查询(根据客户编号)和模糊查询(根据客户名)。开发者需要在映射文件中编写对应的SQL,然后在Java代码中调用MyBatis提供的API执行这些查询。 在示例中,我们创建了一个名为mybatis的...

    总结一天学会MyBatis框架所有知识.docx

    此外,MyBatis还支持模糊查询,可以通过`like`等条件进行模糊匹配。 MyBatis的配置文件是XML格式的,为了方便开发,可以引入约束文件mybatis-3-config.dtd和mybatis-3-mapper.dtd,这样在编写配置文件时,Eclipse会...

    mybatis笔记文档

    - 根据用户名模糊查询用户信息。 - 添加用户。 - 删除用户。 - 更新用户。 ##### 3. 工程结构 - **SqlMapConfig.xml**:配置MyBatis运行环境。 - **映射文件**:如`User.xml`,包含SQL语句和映射规则。 - **PO类**...

Global site tag (gtag.js) - Google Analytics