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

mybatis中使用if标签比较两个字符串是否相等

阅读更多

<!-- 此处使用if比较是否相等 -->

<select id="findClientIds" parameterType="map" resultType="map">

        SELECT sys_user.id,sys_user.clientId FROM sys_user
        <where>
            <if test="grade!= null and grade!= ''and grade == '3'.toString()">
                id =(
                SELECT PRIMARY_PERSON FROM sys_office WHERE id = 
                (SELECT office_id FROM sys_user WHERE id = #{userId}
                ))
            </if>
            <if test="grade!= null and grade!= '' and grade == '2'.toString()">
                id =(
                SELECT PRIMARY_PERSON FROM sys_office WHERE id = 
                (SELECT company_id FROM sys_user WHERE id = #{userId}
                ))
            </if>
            <if test="grade!= null and grade!= '' and grade == '1'.toString()">
                id = ''
            </if>
        </where>
    </select>

分享到:
评论

相关推荐

    mybatis 映射文件中if标签判断字符串相等的两种方式

    本文将详细讨论在MyBatis映射文件中,`if`标签判断字符串相等的两种方法。 ### 方法一:使用OGNL表达式 MyBatis的`if`标签内支持OGNL(Object-Graph Navigation Language)表达式,这是一种强大的表达式语言,用于...

    MyBatis动态Sql之if标签的用法详解

    在上面的示例中,我们使用if标签来根据userName和userEmail两个条件生成不同的Sql语句。如果userName不为空,则执行第一个if标签中的Sql语句;如果userEmail不为空,则执行第二个if标签中的Sql语句。 if标签的test...

    springmybatis

    1. 在MyBatis 里面创建两个源码目录,分别为 src_user,test_src, 用如下方式建立,鼠标右键点击 JavaResource. 2. 设置mybatis 配置文件:Configuration.xml, 在src_user目录下建立此文件,内容如下: 程序代码 程序...

    mybatis if标签使用总结

    在另一方法`getListByStartDateAndEndDate`中,`&lt;if&gt;`标签用于判断`startDate`和`endDate`两个参数是否不相等。如果不相等,`&lt;if&gt;`标签内的内容(即`date between #{startDate} and #{endDate}`)将被添加到SQL语句...

    mybatis笔记

    - **动态SQL**:MyBatis提供了多种动态SQL标签,如`&lt;if&gt;`、`&lt;choose&gt;`、`&lt;when&gt;`、`&lt;otherwise&gt;`、`&lt;trim&gt;`等,其中`&lt;where&gt;`标签用于动态插入`WHERE`子句,自动处理第一个`AND`或`OR`关键词。这些标签可以帮助...

    mybatis plus baomidou

    MyBatis Plus (MBP) 和 BaTao.IO (Baomidou) 是两个在Java开发中常用的MyBatis扩展框架,它们极大地简化了基于MyBatis的数据库操作。这两个框架的结合使用可以进一步提升开发效率,使得数据库CRUD(创建、读取、更新...

    MyBatis中OGNL的使用教程详解

    当在SQL字符串中使用`${}`时,MyBatis会使用OGNL解析其中的表达式。例如: ```xml select id,name,... from country &lt;if test="name != null and name != ''"&gt; name like '${'%' + name + '%'}' &lt;/if&gt; ...

    尚硅谷Mybatis视频教程41-50

    尚硅谷_MyBatis_动态sql_trim_自定义字符串截取.avi** - **Trim标签**:在Mybatis中,Trim可以用于自动添加、删除或替换SQL语句的前缀、后缀以及内容中的特定字符,方便构建动态SQL。 6. **43.尚硅谷_MyBatis_动态...

    mybatis对数据库基本操作

    2. **动态 SQL**: MyBatis 的强大之处在于它的动态 SQL 功能,可以编写条件查询、分页查询等复杂 SQL,而无需在 Java 代码中拼接字符串。例如,使用 `&lt;if&gt;`、`&lt;choose&gt;`、`&lt;when&gt;`、`&lt;otherwise&gt;` 等标签实现条件...

    MyBatis经典面试题详细

    ${}是字符串替换,存在SQL注入风险。模糊查询时,使用like关键词配合#{}进行处理。在mapper中传递多个参数可以通过参数对象或者使用Map来实现。MyBatis支持批量操作,例如使用标签。 MyBatis的Mapper编写方式有XML...

    初识MyBatis

    配置MyBatis主要包括两个部分:全局配置文件(mybatis-config.xml)和映射文件(如UserMapper.xml)。全局配置文件定义了数据源、事务管理器、环境等信息;映射文件则包含了具体的SQL语句。 4. **增删改查操作** ...

    MyBatis笔记1

    MyBatis 的运行环境需要包含两个主要的 jar 包:mybatis-3.x.x.jar(MyBatis 核心包)和 mybatis-spring-x.x.x.jar(与 Spring 结合时使用)。这些 jar 包可以从 MyBatis 的官方仓库 GitHub 下载。MyBatis 的 jar ...

    MyBatis 36道面试题和答案.docx

    MyBatis的动态SQL功能允许开发者在XML映射文件中使用类似HTML标签的语法来构建SQL。常用的动态SQL标签包括trim、where、set、foreach、if、choose、when、otherwise和bind。动态SQL的执行依赖于OGNL(Object-Graph ...

    MyBatis面试专题及答案.pdf

    MyBatis 的分页功能可以通过几种方式实现,一种是使用 RowBounds 对象进行分页,另一种是在 SQL 中直接编写分页逻辑,而最常用的是使用 MyBatis 分页插件。分页插件的原理是在执行 SQL 前进行拦截,根据分页参数重写...

    三,MyBatis动态SQL,缓存和分页插件, Lombok工具

    例如,我们可以使用`&lt;if&gt;`、`&lt;choose&gt;`(类似Java的switch)、`&lt;when&gt;`、`&lt;otherwise&gt;`、`&lt;where&gt;`、`&lt;set&gt;`等标签实现条件判断、选择执行和构建WHERE子句。这种特性使得SQL语句更加灵活,避免了大量的字符串拼接和...

    MyBatis 参数类型为String时常见问题及解决方法

    在动态SQL中,比如`&lt;if&gt;`标签内,直接比较String参数与字符串常量可能导致问题。错误的写法如下: ```xml &lt;if test="_parameter == '1'"&gt; type=#{_parameter} &lt;/if&gt; ``` 这是因为MyBatis在处理表达式时,`_...

    JSTL标签库jar包

    要在项目中使用JSTL,你需要将这两个JAR文件放入Web应用的`WEB-INF/lib`目录下,并在JSP页面中导入JSTL的核心库: ```jsp ``` 根据需要,你还可以导入其他库,如`fmt`、`fn`等。 **最佳实践**: - 使用JSTL标签...

    一些常用的jar包

    3. **动态SQL**:MyBatis的强项之一是动态SQL,可以在XML配置文件中使用条件语句、if标签、choose标签等实现灵活的SQL构建。 4. **缓存机制**:MyBatis提供了一级缓存和二级缓存,一级缓存是SqlSession级别的,而二...

    iBatis的动态SQL语句

    iBatis框架中的动态SQL主要通过XML映射文件来实现,它允许在映射文件中使用各种标签来控制SQL语句的生成过程。这些标签包括但不限于`&lt;if&gt;`、`&lt;choose&gt;`、`&lt;when&gt;`、`&lt;otherwise&gt;`、`&lt;trim&gt;`、`&lt;where&gt;`、`&lt;set&gt;`、`...

    1000道Java工程师面试题.pdf

    - **${}**:字符串替换,存在SQL注入的风险,主要用于拼接字符串或设置动态表名等。 #### 7. 实体类属性名与表字段名不一致 - 解决方案之一是使用`&lt;resultMap&gt;`标签中的`column`属性来指定表中的列名,通过`...

Global site tag (gtag.js) - Google Analytics