`
nmx253
  • 浏览: 23536 次
  • 性别: 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的dtd

    ibatis sql map api学习

    NULL 博文链接:https://gjtiancai.iteye.com/blog/1297776

    ibatis SQL Map PPt

    Ibatis SQL Map 动态SQL 事务处理 缓存机制

    iBATIS SQL Maps 开发指南

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

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

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

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

    ibatis标签提示工具 sql-map-2.dtd

    iBatis SQL Maps开发指南.pdf

    开发指南 iBATIS SQL Maps Page 3 of 62 Map类型的Result 复杂类型属性(即自定义类型的属性) 避免N+1 Select(1:1) 延迟加载 VS 联合查询(1:1) 复杂类型集合的属性 避免N+1 Select(1:M和M:N) 组合键值或多...

    ibatis_sql_map教程

    英文版ibatis教程,重点练习sqlmap,对初学者很有帮助。

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

    虽然ibatai sql map可以配置多个参数,但sqlMap只能传入一个参数,我们有两种方式,一是把我们的参数封装成一个类,通过set/get取值的方式给sql map注入参数,二是通过hashMap(可以组合一些不是同一个pojo的参数有...

    iBATIS-SqlMaps-2_cn.pdf

    SQL Map提供了一个简洁的框架,使用简单的XML描述文件将Java Bean,Map实现和基本数据类型的包装类

    iBATIS SQL Maps 开发指南 Version 2.0

    SQL Map使用简单的XML配置文件将Java Bean映射成SQL语句,对比其他的数据库持续层和ORM框架(如JDO的实现,Hibernate等),SQL Map最大的优点在于它简单易学。要使用SQL Map,只要熟悉Java Bean,XML和SQL,就能使您...

    iBATIS_SQL_Maps_V2.0开发指南_ibatis_

    SQL Map 使用简单的 XML 配置文件将 Java Bean 映射成 SQL 语句,对比其他的数据库持续层和 ORM 框架(如 JDO 的实现, Hibernate 等), SQL Map 最大的优点在于它简单易学。要使用 SQL Map,只要熟悉Java Bean, ...

    sql-map-2.dtd

    ibatis的dtd约束,版本2,xml文件中标签提示,网址:http://ibatis.apache.org/dtd/sql-map-2.dtd

    Ibatis-SqlMaps

    SQL Map API让开发人员可以轻易地将Java Bean映射成PreparedStatement的输入参数和ResultSet结果集。开发SQL Map的想法很简单:提供一个简洁的架构,能够用20%的代码实现80%JDBC的功能。

    基于iBatis SQL Map的数据持久层实现应用研究 (2008年)

    介绍了iBatis SQL Map建立ORM机制的原理和特点,结合某物流系统的开发,给出了SQL Map建立ORM的主要内容,包括映射关系、SQL Map配置文件和SQL Map API等.实践表明,iBatis SQL Map的ORM实现技术非常方便、灵活,并较好地...

    ibatis 中文手册

    ibatis 中文手册,介绍了ibatis map sql的重要特性

    iBATIS框架源码剖析

    资源名称:iBATIS框架源码剖析内容简介:iBATIS是一种比较流行的ORM框架,本书全面介绍其结构体系和分析其源程序代码,该框架的核心包括两个组件,一个是iBATIS DAO,另一个是iBATIS SQL Map。本书分为三个部分,第...

    iBATIS-SqlMaps-2_cn.rar

    SQL Map使用简单的XML配置文件将Java Bean映射成SQL语句,对比其他的数据库持续层和ORM框架(如JDO的实现,Hibernate等),SQL Map最大的优点在于它简单易学。要使用SQL Map,只要熟悉Java Bean,XML和SQL,就能使您...

Global site tag (gtag.js) - Google Analytics