`

mybaits中if 多个test 和 if else 分支支持

    博客分类:
  • java
 
阅读更多

mybaits中if 多个test

 

 <select id="selectByDynamicallyWithPage" parameterType="map" resultMap="BaseResultMap">
    select
    <include refid="Base_Column_List" />
    from gene_polymorphism
    <where>
      diag_id = #{conds.diagId,jdbcType=INTEGER}
      <if test="conds.chromesome!=null and conds.chromesome!=''">
        and chromesome = #{conds.chromesome,jdbcType=VARCHAR}
      </if>
      <if test="conds.startPos!=null">
        and start_pos &gt;= #{conds.startPos,jdbcType=BIGINT}
      </if>
    </where>
</select>

 

if else分支:

 

<select id="selectByDynamicallyWithPage" parameterType="map" resultMap="BaseResultMap">
    select
    <include refid="Base_Column_List" />
    from gene_polymorphism
    <where>
      diag_id = #{conds.diagId,jdbcType=INTEGER}
      <if test="conds.chromesome!=null">
        and chromesome = #{conds.chromesome,jdbcType=VARCHAR}
      </if>
      <if test="conds.startPos!=null">
        and start_pos &gt;= #{conds.startPos,jdbcType=BIGINT}
      </if>
      <if test="conds.endPos!=null">
        and end_pos &lt;= #{conds.endPos,jdbcType=BIGINT}
      </if>
      <if test="conds.geneTypes!=null">
        <!--and gene_type in-->
        <!--<foreach collection="conds.geneTypes" open="(" close=")" item="item" separator="," >-->
          <!--#{item,jdbcType=VARCHAR}-->
        <!--</foreach>-->
        and (
        <foreach collection="conds.geneTypes" item="item" separator="or">
          gene_type like CONCAT('%',CONCAT(#{item,jdbcType=VARCHAR}, '%'))
        </foreach>
        )
      </if>
      <if test="conds.geneChange!=null">
        and gene_change like CONCAT('%',CONCAT(#{conds.geneChange,jdbcType=VARCHAR}, '%'))
      </if>
    </where>
    order by
    <trim suffixOverrides=",">
      <choose>
        <when test="conds.chromesomeSort!=null and conds.chromesomeSort=='asc'">
          chromesome asc ,
        </when>
        <when test="conds.chromesomeSort!=null and conds.chromesomeSort=='desc'">
          chromesome desc ,
        </when>
      </choose>
      <choose>
        <when test="conds.startPosSort!=null and conds.startPosSort=='asc'">
           start_pos asc ,
        </when>
        <when test="conds.startPosSort!=null and conds.startPosSort=='desc'">
           start_pos desc ,
        </when>
        <otherwise>
          id desc
        </otherwise>
      </choose>
    </trim>
      limit #{startRow,jdbcType=INTEGER} ,#{pageSize,jdbcType=INTEGER}
  <!--  order by id desc limit #{startRow,jdbcType=INTEGER} ,#{pageSize,jdbcType=INTEGER} -->
  </select>

 

 

分享到:
评论

相关推荐

    mybaits demo

    【标题】"mybaits demo" 是一个关于MyBatis框架的示例项目,它旨在帮助开发者更好地理解和学习如何在实际开发中应用MyBatis。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。通过简化DAO...

    mybaits 和spring结合的jar包

    这个"mybaits 和spring结合的jar包"包含了实现这种整合所需的库文件,使得开发者可以方便地将MyBatis的SQL映射框架与Spring的依赖注入和管理容器融合在一起,提高开发效率和代码的可维护性。 MyBatis 是一个优秀的...

    Mybaits-one2many

    在 MyBatis 中,一对多关系映射是常见的数据关联处理方式,它用于表示一个实体对象(比如用户)可以拥有多个相关联的对象(比如订单)。在本案例 "Mybaits-one2many" 中,我们将探讨如何实现一对多的关系查询,并且...

    mybaits多个经典例子

    6. **动态 SQL**:MyBatis 的一大亮点就是支持动态 SQL,允许在 XML 映射文件中使用 if、choose、when、otherwise、where、foreach 等标签编写灵活的 SQL 语句,这极大地提高了代码的可读性和可维护性。 7. **缓存...

    mybaits实例项目

    在这个"mybaits实例项目"中,初学者可以学习到MyBatis的核心概念和基本操作。下面,我们将详细讨论MyBatis的关键知识点: 1. **配置文件**: MyBatis的配置文件(通常命名为`mybatis-config.xml`)是整个框架的中心...

    mybaits demo程序

    通过"mybaits demo程序"的学习,我们可以快速掌握MyBatis的配置和使用,并了解其在实际项目中的应用。对于初学者来说,这是一个很好的实践平台,能帮助理解MyBatis的核心概念和工作原理。在实际开发中,结合具体业务...

    mybaits一对一, 一对多,原生直接sql

    mybaits 一对一 一对多 原生 sql 配置 方法 &lt;/association&gt;

    spring maven mybaits spingmvc整合项目

    Spring、Maven、MyBatis和Spring MVC是Java开发中常用的四大框架,它们的整合能够构建出高效、灵活的企业级应用。本项目是基于这些技术的最新整合实践,旨在提供一个结构清晰、功能完整的开发模板。 首先,Maven是...

    Mybaits 文档

    - **environments**:配置多个环境(例如development和production),每个环境可以有不同的数据源和事务管理器配置。 - **dataSource**:指定数据源配置,可以使用内置的数据源或通过JNDI引用外部数据源。 - **...

    手写mybaits框架代码

    手写mybaits框架代码手写mybaits框架代码手写mybaits框架代码手写mybaits框架代码手写mybaits框架代码手写mybaits框架代码手写mybaits框架代码手写mybaits框架代码手写mybaits框架代码手写mybaits框架代码手写...

    mybaits-spring配置

    在IT行业中,MyBatis和Spring的整合是一个常见的任务,特别是在构建基于Java的企业级应用时。这个主题,"mybaits-spring配置",主要涵盖了如何将MyBatis 3.1.1版本与Spring 3.0.5版本集成,并通过使用mybatis-spring...

    springboot+mybaits+pagehelper

    在 "springboot+mybaits+pagehelper" 的项目中,我们可以看到以下几个关键知识点: 1. **SpringBoot 整合 MyBatis**: - 创建 `mybatis-config.xml` 配置文件,定义数据源和事务管理器。 - 在 `pom.xml` 添加 ...

    mybaits最新jar包

    mybaits通过maven构建的最新jar包文件

    springmvc+mybaits+spring

    【标题】"springmvc+mybaits+spring"是一个典型的Java Web开发框架组合,用于构建高效、可维护的Web应用程序。这个源码示例涵盖了MyBatis、Spring MVC和Spring这三个核心组件,它们各自承担着不同的职责。 【描述】...

    2018mybaits_plugin

    总的来说,2018mybaits_plugin很可能包含了一个方便实用的MyBatis Plus版本,为开发者在2018年的开发工作中提供了强大的数据库操作支持。学习并掌握MyBatis Plus,能够使你在处理日常的数据库操作时更加得心应手,...

    springmvc+mybaits配置示例

    Spring MVC 和 MyBatis 是两个在 Java Web 开发中广泛使用的框架。Spring MVC 作为 Spring 框架的一部分,主要用于构建 MVC(Model-View-Controller)模式的 Web 应用程序,而 MyBatis 是一个优秀的持久层框架,它...

    SpringMvC+Mybaits

    但正如描述中提到的,“SpringMVC+Mybaits 有点乱”,这可能意味着项目中的代码组织、配置管理或者模块划分不够清晰,需要进一步优化和整理,以提高代码的可读性和可维护性。在实际开发中,遵循良好的编码规范、合理...

    mybatis中&lt;if&gt;标签bool值类型为false判断方法

    在MyBatis中,动态SQL是其强大特性之一,它允许我们在XML映射文件中根据条件构造SQL语句。...希望这个解释对学习或使用MyBatis的朋友有所帮助,继续探索MyBatis的更多高级特性,将会使数据库操作变得更加便捷和高效。

    SPRING_HIBERNATE_XFIR_MYBAITS_JAR包

    在Java企业级应用开发中,Spring、Hibernate、XFire(现已被Apache CXF替代)和MyBatis是四大常用的开源框架,它们各自负责不同的领域,共同构建了一个高效、灵活的开发环境。"SPRING_HIBERNATE_XFIRE_MYBAITS_JAR包...

    springmvc+mybaits实现分页 查询功能 带数据库

    在IT行业中,SpringMVC和MyBatis是两个非常重要的框架,它们经常被结合使用来构建高效、可维护的企业级Web应用。在这个项目中,"springmvc+mybaits实现分页 查询功能 带数据库"是核心目标,这意味着我们要讨论如何...

Global site tag (gtag.js) - Google Analytics