`

IBATIS提取共用的SQL

    博客分类:
  • Java
阅读更多

在实际编写 <sqlMap> 的时候, 有些查询条件是共用的, 比如:

计算分页数量和查询分页数据的SQL Where 条件,那么,我们可以把它使用一个SQL标记起来提取成一个公用语句块。

 

 比如:查询

 

    <select id="listMessItemWithPage" resultMap="messResult" parameterClass="map">
	select * from information_content_item
        <include refid="MessItem_Where_Condition" />
        order by id limit #start#,#rowsPerPage#
    </select>

    <select id="countMessItem" resultClass="int" parameterClass="map">
	select count(*) from information_content_item
        <include refid="MessItem_Where_Condition" />
    </select>
    

 

共用SQL模块:

 

<sql id="MessItem_Where_Condition" >
        <dynamic prepend=" WHERE ">
            <isPropertyAvailable property="typeId">
                <isNotEmpty property="typeId" prepend=" and ">
                    type_id = '$typeId$'
                </isNotEmpty>
            </isPropertyAvailable>
            <isPropertyAvailable property="articleTitle">
                <isNotNull property="articleTitle" prepend=" and ">
                    article_title like '%$articleTitle$%'
                </isNotNull>
            </isPropertyAvailable>
            <isPropertyAvailable property="beginDate">
                <isPropertyAvailable property="endDate">
                    <isNotNull property="beginDate" prepend="">
                        <isNotNull property="endDate" prepend=" and ">
                            (release_date between '$beginDate$' and '$endDate$')
                        </isNotNull>
                    </isNotNull>
                </isPropertyAvailable>
            </isPropertyAvailable>
            <isPropertyAvailable property="releaseStatusTag">
                <isNotEmpty property="releaseStatusTag" prepend=" and ">
                    release_status_tag = $releaseStatusTag$
                </isNotEmpty>
            </isPropertyAvailable>
            <isPropertyAvailable property="beginHit">
                <isPropertyAvailable property="endHit">
                    <isNotNull property="beginHit" prepend="">
                        <isNotNull property="endHit" prepend=" and ">
                            (visits between $beginHit$ and $endHit$)
                        </isNotNull>
                    </isNotNull>
                </isPropertyAvailable>
            </isPropertyAvailable>
        </dynamic>
    </sql>

 

分享到:
评论

相关推荐

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

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

    iBatis的动态SQL语句

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

    打log4j日志-ibatis的sql输出

    本文主要探讨如何使用Log4j框架来记录Ibatis的SQL执行情况,以便更好地理解和优化数据库操作。 首先,Log4j是Apache的一个开源项目,它提供了一个灵活的日志系统,允许开发者定义日志级别、输出格式以及输出位置,...

    ibatis动态SQL标签用法

    iBatis动态SQL标签用法 iBatis是Java持久层框架,提供了动态SQL标签来实现动态查询。动态SQL标签可以根据不同的条件生成不同的SQL语句,从而提高查询效率和灵活性。 动态SQL片段 iBatis提供了动态SQL片段的功能,...

    ibatis常用的sql

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

    ibatis打印sql

    标题 "ibatis打印sql" 涉及到的是在使用iBATIS(一个轻量级的持久层框架)时如何调试和查看SQL语句的方法。iBATIS允许开发者编写SQL语句并将其与Java代码集成,以实现灵活的数据访问。在开发过程中,为了调试和优化...

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

    《iBATIS 开发指南》和《iBATIS-SqlMaps》是两本关于Java开发领域中的重要框架——iBATIS的权威指南。这两本书详细介绍了如何使用iBATIS进行数据库交互,帮助开发者深入理解并熟练掌握这一持久层框架。 iBATIS,...

    查看ibatis后台sql

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

    ibatis的dynamicSQL中,关于prepend的使用

    在探讨ibatis中的动态SQL(Dynamic SQL)及`prepend`的使用时,我们首先需要对ibatis有一个基本的理解。ibatis是一种开源的数据访问层框架,它简化了Java应用程序与数据库之间的交互过程。通过使用XML配置文件来定义...

    ibatis动态sql拼接

    iBatis 动态 SQL 拼接 iBatis 框架中的动态 SQL 拼接是一种强大的功能,它允许开发者根据不同的条件生成不同的 SQL 语句,从而提高程序的灵活性和可维护性。在本文中,我们将深入分析 iBatis 框架中动态 SQL 的实现...

    08_ibatis教程_sql主键生成方式.zip

    在本教程"08_传智播客ibatis教程_sql主键生成方式"中,你将会深入学习到如何在Ibatis中配置和使用上述各种主键生成策略,通过实例和代码讲解,帮助你更好地理解和掌握Ibatis在处理SQL主键生成方面的技巧和最佳实践。...

    ibatis2.0+sqlserver2005环境搭建

    在本教程中,我们将详细介绍如何搭建一个基于Ibatis 2.3.4.726版本和SQL Server 2005的开发环境。Ibatis是一个轻量级的持久层框架,它允许开发者将SQL语句与Java代码分离,提高了数据库操作的灵活性。 首先,确保你...

    iBATIS-SqlMaps-2-Tutorial_cn.pdf

    iBATIS-SqlMaps-2-Tutorial_cniBATIS-SqlMaps-2-Tutorial_cn.pdf.pdfiBATIS-SqlMaps-2-Tutorial_cn.pdfiBATIS-SqlMaps-2-Tutorial_cn.pdf

    ibatis常用sql语句

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

    mybatis/ibatis自动生成SQLMapper脚本

    本教程将深入探讨如何使用MyBatis/iBatis自动生成SQLMapper脚本,以提高开发效率。 首先,SQLMapper是MyBatis的核心组成部分,它定义了与数据库交互的SQL语句和映射规则。通过自动生成这些映射文件,开发者可以避免...

    [iBATIS]sql转换工具

    [iBATIS]sql转换工具 简单哦~ 项目组自己写的哦~分享给大家了

    ibatis-sqlmaps-2_cn

    IBATIS,作为一个轻量级的持久层框架,它为Java应用程序提供了数据库操作的支持,尤其在处理SQL映射方面表现出色。这个教程的目的是帮助读者理解并熟练掌握IBATIS的核心概念和技术。 首先,让我们了解一下什么是...

    webwork+ibatis+sqlserver2000

    【标题】"webwork+ibatis+sqlserver2000"所代表的是一个基于WebWork框架、iBATIS持久层框架以及SQL Server 2000数据库的完整应用程序实例。这个组合在早期的Java Web开发中较为常见,用于构建企业级应用。 ...

    08_ibatis教程_sql主键生成方式.rar

    在IT行业中,数据库操作是不可或缺的一部分,而Ibatis作为一个轻量级的持久层框架,它在处理SQL方面具有很高的灵活性。本教程“08_ibatis教程_sql主键生成方式”聚焦于Ibatis如何处理数据库主键的生成策略,这对于...

    iBATIS-SqlMaps-中文教程

    《iBATIS-SqlMaps-中文教程》是一个深入解析iBATIS框架的资源,适合对Java Web开发感兴趣的初学者和进阶者。iBATIS是一个持久层框架,它允许开发者将SQL语句直接写在XML配置文件中,实现了SQL与Java代码的分离,简化...

Global site tag (gtag.js) - Google Analytics