`
NetBus
  • 浏览: 143554 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

改造iBatis,使其支持自动生成sql语句(3)

阅读更多

 

  更新了一下,更新日志:

  1. 使generate其支持statment和sql断。
  2. insert段支持exclude。
  3. delete语句可以不需要parameterMap。
  4. generate段支持for属性,可以指定生成哪种类型的sql。

  更新的是重要目的是只需要一个parametermap。

xml 代码
  1. <!---->xml version="1.0" encoding="UTF-8"?>  
  2. <!---->
  3.     "http://ibatis.apache.org/dtd/sql-map-2.dtd">  
  4.   
  5. <sqlMap namespace="sort">  
  6.   <typeAlias alias="Sort" type="com.cpcw.product.domain.Sort"/>  
  7.   
  8.   <parameterMap id="SortParameterMap" class="Sort">  
  9.     <parameter property="name" column="name" jdbcType="VC"/>  
  10.     <parameter property="fid" column="fid" jdbcType="INTEGER"/>  
  11.     <parameter property="status" column="status" jdbcType="INTEGER"/>  
  12.     <parameter property="notes" column="notes" jdbcType="VC"/>  
  13.     <parameter property="created" column="created" jdbcType="TIMESTAMP"/>  
  14.       <parameter property="id" column="id" jdbcType="INTEGER"/>  
  15.   parameterMap>  
  16.     
  17.   
  18.   <parameterMap id="SortParameterDeleteMap" class="Sort">  
  19.     <parameter property="id" column="id"/>  
  20.   parameterMap>  
  21.   
  22.   <select id="selectSort" parameterMap="sort.SortParameterMap" resultClass="Sort">  
  23.     select * from (   
  24.     <generate table="sort" where="id"/>  
  25.     ) a order by id desc limit 1   
  26.   select>  
  27.   
  28.   <insert id="createSort" parameterMap="sort.SortParameterMap">  
  29.     <selectKey keyProperty="id" resultClass="int" type="post">  
  30.       select last_insert_id() as value   
  31.     selectKey>  
  32.     <generate table="sort" excludes="id"/>  
  33.   insert>  
  34.      
  35.   <update id="updateSort" parameterMap="sort.SortParameterMap">  
  36.     <generate where="id" table="sort" excludes="{status,created}"/>  
  37.   update>  
  38.      
  39.   <sql id="include">    <generate table="sort" for="delete" where="id"/>  sql>  
  40.   
  41.   <delete id="deleteSort">  
  42.     <include refid="sort.include"/>  
  43.   delete>  
  44.   
  45.      
  46.   <delete id="deleteSortStatus" >  
  47.     <include refid="sort.include"/> and status = 1    
  48.   delete>  
  49.   
  50.   
  51. sqlMap>  
分享到:
评论
3 楼 NetBus 2007-12-20  
<p>
bukebushuo 写道
不错,支持一个,关键是效率上要保证!不要因为封装导致效率下降!
</p>
<p>这种封装只是在ibatis初始化的时候有点儿小影响(把&lt;generate&gt;变成ibatis sql),这种影响可以忽略不计。</p>
<p>对于运行没有任何影响(当然是指使用hack前和hack后的代码)。</p>
2 楼 bukebushuo 2007-12-20  
不错,支持一个,关键是效率上要保证!不要因为封装导致效率下降!
1 楼 Leapiny 2007-12-07  
正在学习使用ibatis,下载来试试看。多谢

相关推荐

    表自动生成ibatis工具

    设置表自动生成ibatis的sql语句等对应的配置文件

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

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

    ibatis 自动生成插件

    本人好不容易从朋友公司里找到的 IBATIS的 ORM 生成工具插件 可以自动生成对表的新增 修改 删除 XML配置文件和SQL语句,加快开发速度

    Ibatis代码生成器

    注:附带模板,使用手册,环境配置等。... 3)、要生成权限数据、字典表数据sql, a)、请在下面的“测试数据定义Excel文件路径”中选择对应的文件, b)、然后点击下面的按钮“根据测试数据Excel生成按钮”。

    代码自动生成器

    然而,当下比较流行的,绝大多数MySQL、iBatis开源代码生成器,只能生成动态SQL语句和几个简单粗糙的增删改查方法。 对于追求高质量代码的项目而言,都希望拥有高端的标准SQL语句,而不是相对低端的动态SQL语句。...

    iBatis SQL Maps开发指南.pdf

    用SqlMapClient执行SQL语句 代码例子 例子1:执行update(insert,update,delete) 例子2:查询成对象(select) 例子3:用预赋值的结果对象查询成对象(select) 例子4:查询成对象List(select) 例子5:自动提交...

    SQL参数自动填充工具

    测试抓取ibatis日志生成的sql会有很多问号,参数填充太麻烦,所以写了一个窗口sql参数自动填充工具

    iBATIS学习笔记

    会自动生成SQL 语句,而iBATIS则要求开发者编写具体的SQL语句。相对Hibernate 等 “全自动”ORM机制而言,iBATIS以SQL开发的工作量和数据库移植性上的让步, 为系统设计提供了更大的自由空间。作为“全自动”ORM实现...

    iBATIS实战

    5.1.1 用于非查询SQL语句的SqlMap API 82 5.1.2 非查询已映射语句 83 5.2 插入数据 84 5.2.1 使用内联参数映射 84 5.2.2 使用外部参数映射 85 5.2.3 自动生成的键 86 5.3 更新和删除数据 88 5.3.1 处理并发更新 88 ...

    ibatis 开发指南

    使用ibatis 提供的ORM机制,对业务逻辑实现人员而言,面对的是纯粹的Java对象, 这一层与通过Hibernate 实现ORM 而言基本一致,而对于具体的数据操作,Hibernate 会自动生成SQL 语句,而ibatis 则要求...

    C#+IBatis+MVC3.0+Sql+验证码实例

    绝对无敌的重大实用的技术知识汇总,里面有我自己写的验证码方法,通过MVC3.0和IBatis以及Sql2010和Jquery实现的登录注册 模板, 这个实例,绝对是新手以及探究者 研究的好实例。...(里面附有Sql数据生成语句)

    ibatis的SqlMap辅助生成工具

    工具的使用,我写了一个说明。 功能: 能节省写SqlMap的时间,和创建实体的时间。 而且快捷准确,不必担心sql语句会写错,或者字段对应不上

    Ibatis框架的核心知识点

    1 简单的sqlmap 2 SQl语句 3 自动生成的主键 4 存储过程 5 parameterMap与inline parameter 6 二元条件元素和一元条件元素 7 隐式的Result Map

    .net源码生成工具DataBase2Sharp

    可以生成各种架构代码,导出数据库文档、浏览数据库架构、查询数据、生成Sql脚本等。 主要的功能如下:  1、Castle的ActiveRecord代码生成功能,准确生成各种关系。  2、NHibernate代码生成,生成相应的实体类和...

    ibatis 开发指南(pdf)

    使用ibatis 提供的ORM 机制,对业务逻辑实现人员而言,面对的是纯粹的Java 对象, 这一层与通过Hibernate 实现ORM 而言基本一致,而对于具体的数据操作,Hibernate 会自动生成SQL 语句,而ibatis 则要求...

    iBATIS技术教程PPT和代码.rar

    系统数据处理量巨大,性能要求极为苛刻,这往往意味着我们必须通过经过高度优化的SQL语句(或存储过程)才能达到系统性能设计指标。面对这样的需求,再次举起 Hibernate 大刀,却发现刀锋不再锐利,甚至无法使用,...

    ibatis和hibernate的区别

    ibatas的sql语句需要自己手动写,而hibernate能够在程序运行时自动生成。但是不要就这样以为hibernate比ibatas方便,其实二者熟悉之后的效率差不多。而hibernate还能够自动建表等等,这样的好处就在于你带着这个程序...

    IbatisDemo04

    Ibatisnet 1,如何得到运行时ibatis.net动态生成的SQL语句? 2,如何获取DbCommand? 3,如何返回DataTable,DataSet? 4,批量数据的插入……

    mybatis 模糊查询的实现方法

    mybatis的逆向助手确实好用,可以省去很多编写常规sql语句的时间,但是它没办法自动生成模糊查询语句,但开发中模糊查询是必不可少的,所以,需要手动对mapper编写模糊查询功能。 这里先明确MyBatis/Ibatis中#和$的...

    Struts2+Ibatis+Spring例子

    附jar包和建表语句,里面有添、删、改、查通用查询方法,并且,加了log4j,所以对数据库操作SQL都会在控制台打印出来,加有最新的jQuery插件1.7.2.min.js,建好表,部署完工程直接就可以访问,还支持数据库切换,只...

Global site tag (gtag.js) - Google Analytics