`

ibatis提取共用的语句块SQL

阅读更多

某些情况下,sql有些共用语句块。比如分页和查询where条件。

 

1、where条件如下:

 

<sql id="MS-QUERY-MEMBER-CASES-BY-PARAM-WHERE-CONDITION">
<isNotEmpty property="searchCaseResult">
			<isNotEqual property="searchCaseResult" compareValue="0">
				<![CDATA[and
					bitand(amc.CASE_RESULT,#searchCaseResult#) = #searchCaseResult#
				]]>
			</isNotEqual>
			<isEqual property="searchCaseResult" compareValue="0">
				<![CDATA[and
					amc.CASE_RESULT = 0
				]]>
			</isEqual>
	</isNotEmpty>
</sql>
 

2、查询和分页如何共用呢:加入include

<include refid="MS-QUERY-MEMBER-CASES-BY-PARAM-WHERE-CONDITION" ></include>

 例如:

查询如下:

SELECT amc.* FROM avatar_member_case where 1=1 
<![CDATA[
			 and amc.GMT_CREATE >= #gmtCreateStart:TIMESTAMP# and amc.GMT_CREATE <= #gmtCreateEnd:TIMESTAMP# 
		]]>
		<include refid="MS-QUERY-MEMBER-CASES-BY-PARAM-WHERE-CONDITION" ></include>
 

分页如下:

SELECT count(amc.id) FROM avatar_member_case where 1=1 
<![CDATA[
			 and amc.GMT_CREATE >= #gmtCreateStart:TIMESTAMP# and amc.GMT_CREATE <= #gmtCreateEnd:TIMESTAMP# 
		]]>
		<include refid="MS-QUERY-MEMBER-CASES-BY-PARAM-WHERE-CONDITION" ></include>

 

3、经过测试,需要注意的是:共用部分需要在查询语句之前。否则会报找不到共用部分对应的Id;

 

备注:给自己的提醒,技术人员需要的是热衷于解决技术问题的那股劲。

分享到:
评论

相关推荐

    在ibatis日志信息中打印SQL语句的方法(个人总结)

    在使用iBatis(现为MyBatis)作为持久层框架进行开发时,有时我们需要调试SQL语句,以便查看执行的SQL、优化性能或者解决查询问题。本文将详细讲解如何在iBatis日志信息中打印SQL语句,以便更好地理解和优化数据库...

    ibatis常用sql语句

    标题与描述概述的知识点主要集中在iBATIS框架的SQL映射技术上,特别是针对不同类型的输入参数如何在iBATIS中构建SQL语句。以下是对这些知识点的详细展开: ### iBATIS SQL映射技术概览 iBATIS是早期流行的Java持久...

    iBatis的动态SQL语句

    ### iBatis中的动态SQL语句详解 #### 引言 在进行数据库操作时,我们经常需要根据不同的条件构建不同的SQL语句。这种需求在实际开发中极为常见,尤其是在处理复杂的查询逻辑时。iBatis(现在通常被称为MyBatis)...

    Ibatis常用sql语句

    根据给定的文件信息,以下是对“Ibatis常用SQL语句”的详细解析,涵盖了一系列Ibatis在数据操作中的应用实例。 ### Ibatis简介 Ibatis是一个支持普通SQL查询、存储过程以及高级映射的优秀持久层框架。Ibatis可以让...

    ibatis16个常用sql语句

    iBatis 16个常用SQL语句 iBatis是一个基于Java的持久层框架,提供了一个简洁的方式来访问和操作数据库。在iBatis中,SQL语句是通过XML文件来配置的。下面是16个常用的iBatis SQL语句,涵盖了基本的CRUD(Create、...

    WAS上log4j日志不能输出(ibatis)sql语句解决办法[借鉴].pdf

    WAS 上 log4j 日志不能输出(ibatis)sql 语句解决办法 在部署到 WAS 服务器上的 CMSII 系统中,ibatis 的 sql 语句不能输出日志的问题。解决该问题需要改变 WAS 的默认 LogFactory 实现类,使其使用 log4j 框架下...

    ibatis sql 语句的编写

    ### ibatis SQL语句编写详解 #### 一、引言 在软件开发过程中,数据库操作是必不可少的一部分。Ibatis(现称为MyBatis)作为一款优秀的持久层框架,提供了非常灵活的方式来处理SQL语句,使得Java开发者能够更加...

    打log4j日志-ibatis的sql输出

    在默认情况下,Ibatis并不会自动打印执行的SQL语句,但通过配置,我们可以使Ibatis在运行时输出SQL,这对于调试和性能分析非常有帮助。 要启用Ibatis的SQL日志记录,你需要在Ibatis的配置文件(通常为`mybatis-...

    ibatis常用的sql

    根据提供的文件信息,本文将对ibatis常用的SQL语句进行详细的解析与说明。这些SQL语句主要用于Oracle数据库中,涉及到了删除、插入以及查询等基本操作,并且在ibatis框架中实现了参数化处理。 ### 一、删除操作 ...

    ibatis的dynamicSQL中,关于prepend的使用

    其中,动态SQL是ibatis的一个非常强大的特性,允许开发者根据不同的条件构建出复杂的SQL查询语句。 ### 关于ibatis动态SQL中的`prepend` #### 1. 动态SQL元素 在ibatis中,`&lt;dynamic&gt;`标签是用来构建动态SQL的...

    ibatis sql语句对条件中特殊字符% # 处理

    ### ibatis SQL语句对条件中特殊字符% # 处理 在开发过程中,经常会遇到SQL查询时需要处理字符串中的特殊字符的情况。特别是在使用类似`LIKE`这样的操作符时,如果用户输入的数据中含有`%`、`_`或`#`等特殊字符,...

    ibatis 开发指南 和 iBATIS-SqlMaps两本图书

    5. **动态SQL**:讲解如何使用iBATIS的动态元素来构建灵活的SQL语句,以应对复杂的查询需求。 6. **API使用**:介绍SqlSession、SqlSessionFactory、Executor等关键接口和类的使用方法。 7. **缓存机制**:解释...

    Ibatis复杂查询语句.doc

    总结起来,这个Ibatis查询语句充分展示了Ibatis处理复杂查询的能力,包括动态SQL、子查询、多表联接、条件判断、数据类型映射和迭代处理等功能。在实际开发中,这种灵活性使得Ibatis能够适应各种复杂的业务场景,...

    查看ibatis后台sql

    通过java程序查看ibatis配置文件中的sql语句(注:无法查看变量值)

    在java控制台提取sql语句

    在java的控制台中看到的sql日志通常是如下的样子, Preparing: SELECT in (0,1) ORDER BY i.... 使用方法复制sql语句包括prepare丢到第一个文本框中,然后点start。转换好的就在下面了。 程序的页面可以直接双击打开。

    IBATIS动态查询语句.doc

    IBATIS,现在更广为人知的名字为MyBatis,是一种半自动映射的持久层框架,它允许开发者以声明的方式进行SQL语句的编写,同时提供了动态SQL的功能,这使得SQL语句可以在运行时根据条件动态生成,极大地提高了SQL的...

    根据MyBatis或iBatis的SQLMapper文件反向生成数据库表

    根据MyBatis或iBatis的SQLMapper文件解析生成数据库表,通常是指通过解析MyBatis或iBatis的SQLMapper文件中的SQL语句,然后根据这些SQL语句来生成对应的数据库表结构。这样的需求可能源于需要将已有的SQLMapper文件...

    ibatis动态SQL标签用法

    iBatis提供了动态SQL片段的功能,可以将SQL语句拆分成小的、独立的片段,然后根据不同的条件组合这些片段生成最终的SQL语句。这可以提高代码的可重用性和灵活性。 例如,在上面的代码中,我们定义了三个动态SQL片段...

    将SQl语句转换成Ibatis之Xml文件语句

    用Ibatis时,配置sql语句时候 如果直接从sql里面把语句拷出来,玩玩格式不严谨,我写了这个工具来帮助我们格式化sql语句

Global site tag (gtag.js) - Google Analytics