更新了一下,更新日志:
- 使generate其支持statment和sql断。
- insert段支持exclude。
- delete语句可以不需要parameterMap。
- generate段支持for属性,可以指定生成哪种类型的sql。
更新的是重要目的是只需要一个parametermap。
xml 代码
- xml version="1.0" encoding="UTF-8"?>
- "http://ibatis.apache.org/dtd/sql-map-2.dtd">
- <sqlMap namespace="sort">
- <typeAlias alias="Sort" type="com.cpcw.product.domain.Sort"/>
- <parameterMap id="SortParameterMap" class="Sort">
- <parameter property="name" column="name" jdbcType="VC"/>
- <parameter property="fid" column="fid" jdbcType="INTEGER"/>
- <parameter property="status" column="status" jdbcType="INTEGER"/>
- <parameter property="notes" column="notes" jdbcType="VC"/>
- <parameter property="created" column="created" jdbcType="TIMESTAMP"/>
- <parameter property="id" column="id" jdbcType="INTEGER"/>
- parameterMap>
- <parameterMap id="SortParameterDeleteMap" class="Sort">
- <parameter property="id" column="id"/>
- parameterMap>
- <select id="selectSort" parameterMap="sort.SortParameterMap" resultClass="Sort">
- select * from (
- <generate table="sort" where="id"/>
- ) a order by id desc limit 1
- select>
- <insert id="createSort" parameterMap="sort.SortParameterMap">
- <selectKey keyProperty="id" resultClass="int" type="post">
- select last_insert_id() as value
- selectKey>
- <generate table="sort" excludes="id"/>
- insert>
- <update id="updateSort" parameterMap="sort.SortParameterMap">
- <generate where="id" table="sort" excludes="{status,created}"/>
- update>
- <sql id="include"> <generate table="sort" for="delete" where="id"/> sql>
- <delete id="deleteSort">
- <include refid="sort.include"/>
- delete>
- <delete id="deleteSortStatus" >
- <include refid="sort.include"/> and status = 1
- delete>
- sqlMap>