`
NetBus
  • 浏览: 145125 次
  • 性别: 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,下载来试试看。多谢

相关推荐

    mybatis自动sql生成插件源码

    本项目提供的"mybatis自动sql生成插件源码"则进一步提升了开发效率,通过拦截器(Interceptor)在运行时自动生成SQL语句,适用于具有主键或唯一索引的单表操作。 首先,`AutoMapperInterceptor.java`是这个插件的...

    sqlserver Ibatis XML自动生成工具

    XML文件中的每个元素都将对应数据库表的字段,使你可以直接在代码中调用这些预定义的SQL语句。 XML映射文件的生成包括以下几个关键部分: 1. `select`标签:用于查询操作,通常包含`id`(唯一标识符)、`resultMap`...

    ibatis sqlserver代码自动生成

    首先,Ibatis允许我们定义SQL语句、存储过程和高级映射,将数据库访问逻辑与业务逻辑分离,使得代码更易于维护。然而,手工编写这些配置和映射文件可能会耗费大量时间。因此,代码自动生成工具应运而生,它们可以...

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

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

    ibatis SQL映射文件、DAO、model自动生成工具源码

    总的来说,这个Ibatis生成工具通过自动化的方式,减轻了开发过程中重复性的工作,使得开发者可以更专注于业务逻辑的实现。它的特点是生成的代码简洁,没有冗余的注释或其他不必要内容,同时配置过程简单明了。对于...

    iBatis的动态SQL语句

    iBatis框架中的动态SQL主要通过XML映射文件来实现,它允许在映射文件中使用各种标签来控制SQL语句的生成过程。这些标签包括但不限于`&lt;if&gt;`、`&lt;choose&gt;`、`&lt;when&gt;`、`&lt;otherwise&gt;`、`&lt;trim&gt;`、`&lt;where&gt;`、`&lt;set&gt;`、`...

    ibatis常用sql语句

    iBATIS通过`&lt;iterate&gt;`标签支持数组的遍历,将数组中的每个元素作为独立的值插入到SQL语句中。例如,`(" close=")" conjunction=","&gt;`这段代码会将`actionIds`数组中的每个元素以逗号分隔的形式插入到SQL语句中,...

    ibatis sql生成工具

    总结来说,Ibatis SQL生成工具是一款强大的开发辅助工具,它通过Web应用的方式提供多数据库支持,能够帮助开发者快速生成Ibatis所需的SQL语句和相关Java代码,提高开发效率,降低出错率,是现代企业级开发中的得力...

    ibatis自动生成工具

    使用Ibatis生成工具,我们可以方便地根据数据库表结构自动生成实体类。实体类中的每个属性都与数据库表的列相对应,且自动带有getter和setter方法。此外,实体类还可能包含一些与Ibatis映射相关的注解,如`@Table`, ...

    ibatis代码自动生成

    Ibatis作为轻量级的ORM(对象关系映射)框架,其核心功能是通过XML或注解的方式将Java对象与SQL语句进行映射,避免了直接编写大量的JDBC代码。这大大提高了开发效率,降低了出错的可能性,并且支持动态SQL,提供了...

    ibatis sql 语句的编写

    ibatis还支持动态SQL,允许根据不同的条件生成不同的SQL语句,这对于复杂的查询非常有用。 ##### 4.1 `if`标签 ```xml SELECT * FROM USERS != null"&gt; AND name = #{name} ``` 这里使用`&lt;if&gt;`标签来...

    mybatis/ibatis自动生成SQLMapper脚本

    通过自动生成SQLMapper脚本,开发者可以快速地构建数据访问层,减少手动编写SQL和映射文件的工作量,使项目更加规范且易于维护。这不仅提高了开发效率,也为团队协作提供了便利,确保代码的一致性和可读性。在实际...

    表自动生成ibatis工具

    2. **分析表结构**:连接成功后,工具会读取指定库中的表信息,包括表名、字段名、字段类型等,这是生成SQL语句的基础。 3. **生成Mapper接口**:基于表结构,工具会自动生成对应表的Mapper接口,包含CRUD(Create...

    ibatis代码自动生成代码程序

    【ibatis代码自动生成代码程序】是一个实用工具,旨在帮助开发者快速生成基于iBATIS框架的Java代码。iBATIS,作为一个数据访问层框架,它允许程序员将SQL语句与Java代码分离,提供了一种简单但强大的方式来处理...

    自动生成ibatis 实体类文件

    在Java开发中,MyBatis Generator(MBG)是一个强大的工具,它可以帮助开发者自动生成SQL映射文件、Java实体类以及对应的DAO接口。标题“自动生成iBatis 实体类文件”表明我们要讨论的是如何利用MBG来自动化创建与...

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

    Ibatis允许开发者直接编写SQL语句,将数据库操作与Java代码解耦,提供更灵活的数据访问控制。在主键生成方面,Ibatis提供了多种策略,以适应不同的数据库环境和业务需求。 1. **手工指定主键**:这是最基础的方式,...

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

    WAS 上 log4j 日志不能...解决 WAS 上 log4j 日志不能输出(ibatis)sql 语句的问题需要改变 WAS 的默认 LogFactory 实现类,使其使用 log4j 框架下的 LogFactory 实现类,并且需要正确配置 log4j.properties 文件。

    ibatis动态SQL标签用法

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

Global site tag (gtag.js) - Google Analytics