`
nmx253
  • 浏览: 24302 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

iBATIS中的sql map参考

阅读更多
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2.   
  3. <!DOCTYPE sqlMap         
  4.     PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"         
  5.     "http://ibatis.apache.org/dtd/sql-map-2.dtd">  
  6.   
  7. <sqlMap namespace="Category">  
  8.   
  9.     <typeAlias alias="subject" type="com.lhq.prj.bms.po.Subject" />  
  10.     <typeAlias alias="category" type="com.lhq.prj.bms.po.Category" />  
  11.     <typeAlias alias="page" type="com.lhq.prj.bms.core.Page" />  
  12.   
  13.     <parameterMap class="category" id="pm_category_without_id">  
  14.         <parameter property="categoryName" javaType="string" jdbcType="VARCHAR" />  
  15.         <parameter property="subjectId" javaType="integer" jdbcType="NUMBER" />  
  16.         <parameter property="subjectName" javaType="string" jdbcType="VARCHAR" />  
  17.         <parameter property="remark" javaType="string" jdbcType="VARCHAR" />  
  18.     </parameterMap>  
  19.     <sql id="byCategoryIdCondition">  
  20.         <![CDATA[  
  21.            categoryId = #categoryId:NUMBER#  
  22.         ]]>  
  23.     </sql>  
  24.   
  25.     <insert id="save" parameterMap="pm_category_without_id">  
  26.         <![CDATA[  
  27.             INSERT INTO t_category   
  28.                         (categoryName,subjectId,subjectName,remark)   
  29.                  VALUES (?,?,?,?)  
  30.         ]]>  
  31.         <selectKey resultClass="int">  
  32.             <![CDATA[  
  33.                 SELECT @@IDENTITY AS ID  
  34.             ]]>  
  35.         </selectKey>  
  36.     </insert>  
  37.   
  38.     <delete id="deleteById" parameterClass="integer">  
  39.         <![CDATA[  
  40.             delete t_category  
  41.         ]]>  
  42.         <dynamic prepend="WHERE">  
  43.             <include refid="byCategoryIdCondition" />  
  44.         </dynamic>  
  45.     </delete>  
  46.   
  47.     <select id="findAll" resultClass="category">  
  48.         <![CDATA[  
  49.             SELECT * FROM t_category  
  50.         ]]>  
  51.     </select>  
  52.   
  53.     <update id="update" parameterClass="category">  
  54.         <![CDATA[  
  55.             UPDATE t_category  
  56.         ]]>  
  57.         <dynamic prepend="SET">  
  58.             <isNotNull property="categoryName" prepend=",">  
  59.                 <![CDATA[  
  60.                     categoryName = #categoryName:VARCHAR#  
  61.                 ]]>  
  62.             </isNotNull>  
  63.             <isNotNull property="subjectId" prepend=",">  
  64.                 <![CDATA[  
  65.                     subjectId = #subjectId:NUMBER#  
  66.                 ]]>  
  67.             </isNotNull>  
  68.             <isNotNull property="subjectName" prepend=",">  
  69.                 <![CDATA[  
  70.                     subjectName = #subjectName:VARCHAR#  
  71.                 ]]>  
  72.             </isNotNull>  
  73.             <isNotNull property="remark" prepend=",">  
  74.                 <![CDATA[  
  75.                     remark = #remark:VARCHAR#  
  76.                 ]]>  
  77.             </isNotNull>  
  78.         </dynamic>  
  79.         <dynamic prepend="WHERE">  
  80.             <include refid="byCategoryIdCondition" />  
  81.         </dynamic>  
  82.     </update>  
  83.   
  84.     <sql id="findCategoryByPageCondition">  
  85.         <isNotEmpty property="conditions">  
  86.             <iterate property="conditions" open="(" close=")" conjunction="OR">  
  87.                 <![CDATA[  
  88.                     upper(categoryName) LIKE '%' + upper(#conditions[]:VARCHAR#) + '%'  
  89.                     OR upper(subjectName) LIKE '%' + upper(#conditions[]:VARCHAR#) + '%'  
  90.                     OR upper(remark) LIKE '%' + upper(#conditions[]:VARCHAR#) + '%'   
  91.                 ]]>  
  92.             </iterate>  
  93.         </isNotEmpty>  
  94.     </sql>  
  95.   
  96.     <select id="findByPage" parameterClass="page" resultClass="category">  
  97.         <![CDATA[  
  98.             SELECT TOP $limit$ * FROM t_category   
  99.                     WHERE (categoryId >= (SELECT MAX(categoryId) FROM (SELECT TOP $start$ categoryId FROM t_category   
  100.         ]]>  
  101.         <dynamic prepend="WHERE">  
  102.             <include refid="findCategoryByPageCondition" />  
  103.         </dynamic>  
  104.         <![CDATA[  
  105.             ORDER BY categoryId ) AS T))   
  106.         ]]>  
  107.         <dynamic prepend="AND">  
  108.             <include refid="findCategoryByPageCondition" />  
  109.         </dynamic>  
  110.         <![CDATA[  
  111.             ORDER BY categoryId  
  112.         ]]>  
  113.     </select>  
  114.   
  115.     <select id="findByCount" parameterClass="page" resultClass="int">  
  116.         <![CDATA[  
  117.             SELECT COUNT(*) FROM t_category   
  118.         ]]>  
  119.         <dynamic prepend="WHERE">  
  120.             <include refid="findCategoryByPageCondition" />  
  121.         </dynamic>  
  122.     </select>  
  123.   
  124.     <select id="findCategoryBySubject" parameterClass="subject" resultClass="category">  
  125.         <![CDATA[  
  126.             SELECT * FROM t_category   
  127.         ]]>  
  128.         <dynamic prepend="WHERE">  
  129.             <isNotNull property="subjectId" prepend="OR">  
  130.                 <![CDATA[  
  131.                     subjectId = #subjectId:NUMBER#  
  132.                 ]]>  
  133.             </isNotNull>  
  134.             <isNotNull property="subjectName" prepend="OR">  
  135.                 <![CDATA[  
  136.                     subjectName like '%' +  #subjectName:VARCHAR# + '%'  
  137.                 ]]>  
  138.             </isNotNull>  
  139.         </dynamic>  
  140.     </select>  
  141. </sqlMap>  
分享到:
评论

相关推荐

    ibatis的sql-map dtd

    在Ibatis中,`sql-map-2.dtd`和`sql-map-config-2.dtd`分别对应于`sql-map`和`sql-map-config`文件的DTD定义。 `sql-map-2.dtd`文件主要用于定义SQL映射文件的结构。在这个文件中,你可以找到如下的元素和属性定义...

    iBATIS-SqlMaps2入门代码文档

    PUBLIC "-//iBATIS.org//DTD SQL Map Config 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-config-2.dtd"&gt; ``` 在这个配置文件中: - `&lt;dataSource&gt;`元素定义了数据源类型为“POOLED”,即使...

    ibatis_sql_map教程

    ### ibatis_sql_map教程知识点详解 #### 一、引言 本教程旨在引导读者通过一个典型的应用场景了解和掌握ibatis SQL Maps框架的基本用法。ibatis SQL Maps是一款开源持久层框架,它允许开发者通过XML配置文件来实现...

    基于iBatis SQL Map的数据持久层实现应用研究.pdf

    在本文中,作者以物流系统开发为实例,介绍了基于iBatis SQL Map实现数据持久层的主要内容,这包括映射关系的建立、SQL Map配置文件的编写,以及SQL Map API的使用。 iBatis SQL Map的核心是基于XML配置文件的映射...

    sql-map-2.dtd和sql-map-config-2.dtd

    本文将深入探讨与“sql-map-2.dtd”和“sql-map-config-2.dtd”相关的知识点,以及它们在Ibatis中的作用。 Ibatis是一个轻量级的ORM(对象关系映射)框架,它允许开发者将SQL语句直接写在配置文件中,通过XML映射...

    ibatis SQL Map PPt

    以上就是Ibatis SQL Map PPT中涉及的主要知识点,包括动态SQL的灵活性、事务处理的严谨性和缓存机制的高效性。理解并熟练运用这些特性,能帮助开发者更好地利用Ibatis来设计和实现高效的数据访问层。

    iBATIS-SqlMaps-2-快速入门教程.docx

    iBATIS-SqlMaps-2 是一个 Java 持久层框架,用于简化 Java 应用程序中的数据库交互。快速入门教程旨在帮助开发者快速了解 iBATIS-SqlMaps-2 的使用和配置。 知识点1:iBATIS-SqlMaps-2 简介 iBATIS-SqlMaps-2 是一...

    iBATIS-SqlMaps-2_cn.pdf

    在XML描述文件中,SQL Maps定义了Java Bean、Map实现以及基本数据类型的包装类如何与数据库中的表和记录对应。这些映射文件通常包含SQL查询、存储过程以及事务管理等元素,使得开发者无需编写大量JDBC代码就能完成...

    iBATIS-SqlMaps

    **iBATIS-SqlMaps**(也称为**DataMapper**或**SQLMaps**)是一个轻量级的Java持久层框架,它通过简单的XML配置文件将Java对象映射到数据库中的SQL语句,从而大大减少了在访问关系型数据库时所需的Java代码量。...

    iBATIS SQL Maps 开发指南

    本文是《iBatis SQL Maps Developer Guide》的中文版,仅供读者参考,最权威的应以Clinton Begin的官方文档为准。如果中文翻译有错误,请通知译者(email:toleu@21cn.com,Blog:...

    Mygeneration_1309_20081006—IBatis_SQL映射+实体模板

    IBatis.NET是SQL Map的一种实现,它是一个持久层框架,用于将SQL查询与.NET应用中的业务逻辑分离。 在Mygeneration_1309_20081006中,内置了IBatisObject模板,这是Mygeneration的一个重要功能。这个模板允许用户...

    iBATIS-SqlMaps中文教程集合

    在“iBATIS-SqlMaps中文教程集合”中,你将找到四本深入浅出的教程,这些教程涵盖了iBATIS的基础使用、高级特性和实战案例,帮助开发者快速掌握并熟练运用iBATIS解决项目中的实际问题。 1. **基础篇** - iBATIS...

    Ibatis资料ibatai sql map iBATIS使用$和#的一些理解

    在使用iBATIS(现已被MyBatis取代)进行数据库操作时,我们常常需要传递参数到SQL语句中。在iBATIS中,有两种主要的方式来处理这些参数:使用`$`和`#`。这两种方式在不同的场景下有不同的效果。 首先,让我们来看看...

    iBATIS-SqlMaps-2_ja.pdf

    SQL Map XML 文件是 iBATIS 的核心配置文件,包含了所有 SQL 映射规则。这些规则包括: - **Mapped Statements**:具体描述了 SQL 语句以及其对应的 Java 对象映射规则。 - **Statement 类型**:如 SELECT、INSERT、...

    ibatis-sqlmaps详解

    iBATIS SQL Maps的核心概念是SQL Map,它是一个XML文件,包含了SQL语句和结果映射。通过这种方式,SQL逻辑被封装在XML配置文件中,与业务逻辑代码解耦,使得代码更易于维护和测试。在XML文件中,可以定义查询、插入...

    ibatis sql 语句的编写

    本文将详细介绍ibatis中的SQL语句编写方法,主要包括查询、插入、更新和删除等基本操作,并通过一个具体的例子来加深理解。 #### 二、ibatis简介 Ibatis是一个基于Java的持久层框架,它支持定制化SQL、存储过程...

    iBATIS-SqlMaps-2-Tutorial

    一旦我们熟悉了将要处理的类和表,下一步就是创建SQL Map配置文件。此文件作为SQLMap实现的根配置,是XML格式的。在其中,我们可以配置属性、JDBC数据源和SQL Maps。它为集中管理配置信息提供了方便的位置。 #### ...

Global site tag (gtag.js) - Google Analytics