zoukankan      html  css  js  c++  java
  • iBATIS代码生成分析

    1.分析目录结构“tools”(或者说模板)

    2.首先分析ibatorConfig.xml文件

    复制代码
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE ibatorConfiguration PUBLIC "-//Apache Software Foundation//DTD Apache iBATIS Ibator Configuration 1.0//EN" "http://ibatis.apache.org/dtd/ibator-config_1_0.dtd" >
    <ibatorConfiguration>
    
        <classPathEntry
            location="F:sqljdbc.jar" />
        <ibatorContext id="context1" targetRuntime="Ibatis2Java5">
    
    
            <!-- 
          classPathEntry 指定数据库jdbc驱动jar包的绝对路径。 
        -->
    
            <!--
                id 这个id可以在使用命令行运行Abator时指定,以单独处理某一个ibatorContext targetRuntime
                Ibatis2Java5 生成适合JDK5.0的类,另一个选项是 Ibatis2Java2,生成适合Java2的类。
            -->
    
            <ibatorPlugin
                type="org.apache.ibatis.ibator.plugins.RenameExampleClassPlugin">
                <property name="searchString" value="Example$" />
                <property name="replaceString" value="Example" />
            </ibatorPlugin>
    
            <!--
                ibatorPlugin 继承自IbatorPluginAdapter,包名必须是
                org.apache.ibatis.ibator.plugins,具体实现可以参考官方文档 必须有替换和被替换字符属性。
            -->
    <!--
            <jdbcConnection driverClass="org.postgresql.Driver"
                connectionURL="jdbc:postgresql://127.0.0.1:5432/hibernateTest" userId="postgres"
                password="postgres" />
    -->
            <jdbcConnection driverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver"
                connectionURL="jdbc:sqlserver://127.0.0.1:1433;databaseName=PanaDatabase" userId="sa"
                password="sasa" />
    
    
            <!--
                driverClass 数据库驱动类 connectionURL 数据库连接地址 userId 用户 password 密码
    
                还可以使用以下格式添加数据库的其他连接属性 <property name="" value=""/>
            -->
    
            <javaTypeResolver>
    
                <property name="forceBigDecimals" value="false" />
    
                <!--
                    默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer true,把JDBC DECIMAL 和
                    NUMERIC 类型解析为java.math.BigDecimal
                -->
    
            </javaTypeResolver>
    
            <javaModelGenerator targetPackage="abator.model"
                targetProject="comboFramework/tools" />
    
            <!--
                targetProject 生成的Java Bean放置在哪个项目的哪个目录下 targetPackage 生成的Java Bean的包名
                一个有用的属性 <property name="trimStrings" value="true" /> 从数据库返回的值被清理前后的空格
                <property name="enableSubPackages" value="false" /> 是否在包名后加上scheme名称
            -->
    
            <sqlMapGenerator targetPackage="abator.sqlmap"
                targetProject="comboFramework/tools" />
    
            <!--
                targetProject 生成的 SqlMap.xml 文件放置在哪个项目的哪个目录下 targetPackage 生成的
                SqlMap.xml 文件的包名 <property name="enableSubPackages" value="false" />
                是否在包名后加上scheme名称
            -->
    
            <daoGenerator targetPackage="abator.dao" targetProject="comboFramework/tools"
                type="GENERIC-CI" />
            
            <table  tableName="InfoVoteItm"></table>
            
        </ibatorContext>
    </ibatorConfiguration>
    复制代码

    需要注意的几点是

    1.指向的jdbc包是否正确或存在

        <classPathEntry
            location="F:sqljdbc.jar" />
        <ibatorContext id="context1" targetRuntime="Ibatis2Java5">

    2.数据库连接是否配置正确

            <jdbcConnection driverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver"
                connectionURL="jdbc:sqlserver://127.0.0.1:1433;databaseName=PanaDatabase" userId="sa"
                password="sasa" />

    3.指向的模板工具是否正确

    复制代码
            <!--
                targetProject 生成的Java Bean放置在哪个项目的哪个目录下 targetPackage 生成的Java Bean的包名
                一个有用的属性 <property name="trimStrings" value="true" /> 从数据库返回的值被清理前后的空格
                <property name="enableSubPackages" value="false" /> 是否在包名后加上scheme名称
            -->
    
            <sqlMapGenerator targetPackage="abator.sqlmap"
                targetProject="comboFramework/tools" />
    
            <!--
                targetProject 生成的 SqlMap.xml 文件放置在哪个项目的哪个目录下 targetPackage 生成的
                SqlMap.xml 文件的包名 <property name="enableSubPackages" value="false" />
                是否在包名后加上scheme名称
            -->
    
            <daoGenerator targetPackage="abator.dao" targetProject="comboFramework/tools"
                type="GENERIC-CI" />
            
    复制代码

    4.指向需要生成的表

    <table  tableName="InfoVoteItm"></table>

    这里是单表(还没试过多个表一起生成呢,可以试试)

    最终生成的结果如图

    可以看出对iBATIS对表InfoVoteItm生成了三个模块即"sqlmap","model","dao"。

    现在我们一个一个的来分析这三个部分。

    在分析之前了解下InfoVoteItm表的结构

    复制代码
    USE [PanaDatabase]
    GO
    /****** 对象:  Table [dbo].[InfoVoteItm]    脚本日期: 06/04/2012 16:22:55 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[InfoVoteItm](
        [EmpID] [nvarchar](250) COLLATE Chinese_PRC_CI_AS NULL,
        [InfoDetail_ID] [int] NULL,
        [VoteItmDate] [datetime] NULL CONSTRAINT [DF_InfoVoteItm_VoteItmDate]  DEFAULT (getdate())
    ) ON [PRIMARY]
    复制代码

    A.首先我们来分析"sqlmap"这一部分对InfoVoteItm表生成的文件InfoVoteItm_SqlMap.xml

    复制代码
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd" >
    <sqlMap namespace="InfoVoteItm" >
      <resultMap id="ibatorgenerated_BaseResultMap" class="abator.model.Infovoteitm" >
        <!--
          WARNING - This element is automatically generated by Apache iBATIS ibator, do not modify.
          This element was generated on Wed Mar 09 16:57:25 CST 2011.
        -->
        <result column="EmpID" property="empid" jdbcType="VARCHAR" />
        <result column="InfoDetail_ID" property="infodetailId" jdbcType="INTEGER" />
        <result column="VoteItmDate" property="voteitmdate" jdbcType="TIMESTAMP" />
      </resultMap>
      <sql id="ibatorgenerated_Example_Where_Clause" >
        <!--
          WARNING - This element is automatically generated by Apache iBATIS ibator, do not modify.
          This element was generated on Wed Mar 09 16:57:25 CST 2011.
        -->
        <iterate property="oredCriteria" conjunction="or" prepend="where" removeFirstPrepend="iterate" >
          <isEqual property="oredCriteria[].valid" compareValue="true" >
            (
            <iterate prepend="and" property="oredCriteria[].criteriaWithoutValue" conjunction="and" >
              $oredCriteria[].criteriaWithoutValue[]$
            </iterate>
            <iterate prepend="and" property="oredCriteria[].criteriaWithSingleValue" conjunction="and" >
              $oredCriteria[].criteriaWithSingleValue[].condition$
                #oredCriteria[].criteriaWithSingleValue[].value#
            </iterate>
            <iterate prepend="and" property="oredCriteria[].criteriaWithListValue" conjunction="and" >
              $oredCriteria[].criteriaWithListValue[].condition$
              <iterate property="oredCriteria[].criteriaWithListValue[].values" open="(" close=")" conjunction="," >
                #oredCriteria[].criteriaWithListValue[].values[]#
              </iterate>
            </iterate>
            <iterate prepend="and" property="oredCriteria[].criteriaWithBetweenValue" conjunction="and" >
              $oredCriteria[].criteriaWithBetweenValue[].condition$
              #oredCriteria[].criteriaWithBetweenValue[].values[0]# and
              #oredCriteria[].criteriaWithBetweenValue[].values[1]#
            </iterate>
            )
          </isEqual>
        </iterate>
      </sql>
      <select id="ibatorgenerated_selectByExample" resultMap="ibatorgenerated_BaseResultMap" parameterClass="abator.model.InfovoteitmExample" >
        <!--
          WARNING - This element is automatically generated by Apache iBATIS ibator, do not modify.
          This element was generated on Wed Mar 09 16:57:25 CST 2011.
        -->
        select EmpID, InfoDetail_ID, VoteItmDate
        from InfoVoteItm
        <isParameterPresent >
          <include refid="InfoVoteItm.ibatorgenerated_Example_Where_Clause" />
          <isNotNull property="orderByClause" >
            order by $orderByClause$
          </isNotNull>
        </isParameterPresent>
      </select>
      <delete id="ibatorgenerated_deleteByExample" parameterClass="abator.model.InfovoteitmExample" >
        <!--
          WARNING - This element is automatically generated by Apache iBATIS ibator, do not modify.
          This element was generated on Wed Mar 09 16:57:25 CST 2011.
        -->
        delete from InfoVoteItm
        <include refid="InfoVoteItm.ibatorgenerated_Example_Where_Clause" />
      </delete>
      <insert id="ibatorgenerated_insert" parameterClass="abator.model.Infovoteitm" >
        <!--
          WARNING - This element is automatically generated by Apache iBATIS ibator, do not modify.
          This element was generated on Wed Mar 09 16:57:25 CST 2011.
        -->
        insert into InfoVoteItm (EmpID, InfoDetail_ID, VoteItmDate)
        values (#empid:VARCHAR#, #infodetailId:INTEGER#, #voteitmdate:TIMESTAMP#)
      </insert>
      <insert id="ibatorgenerated_insertSelective" parameterClass="abator.model.Infovoteitm" >
        <!--
          WARNING - This element is automatically generated by Apache iBATIS ibator, do not modify.
          This element was generated on Wed Mar 09 16:57:25 CST 2011.
        -->
        insert into InfoVoteItm
        <dynamic prepend="(" >
          <isNotNull prepend="," property="empid" >
            EmpID
          </isNotNull>
          <isNotNull prepend="," property="infodetailId" >
            InfoDetail_ID
          </isNotNull>
          <isNotNull prepend="," property="voteitmdate" >
            VoteItmDate
          </isNotNull>
          )
        </dynamic>
        values
        <dynamic prepend="(" >
          <isNotNull prepend="," property="empid" >
            #empid:VARCHAR#
          </isNotNull>
          <isNotNull prepend="," property="infodetailId" >
            #infodetailId:INTEGER#
          </isNotNull>
          <isNotNull prepend="," property="voteitmdate" >
            #voteitmdate:TIMESTAMP#
          </isNotNull>
          )
        </dynamic>
      </insert>
      <select id="ibatorgenerated_countByExample" parameterClass="abator.model.InfovoteitmExample" resultClass="java.lang.Integer" >
        <!--
          WARNING - This element is automatically generated by Apache iBATIS ibator, do not modify.
          This element was generated on Wed Mar 09 16:57:25 CST 2011.
        -->
        select count(*) from InfoVoteItm
        <include refid="InfoVoteItm.ibatorgenerated_Example_Where_Clause" />
      </select>
      <update id="ibatorgenerated_updateByExampleSelective" >
        <!--
          WARNING - This element is automatically generated by Apache iBATIS ibator, do not modify.
          This element was generated on Wed Mar 09 16:57:25 CST 2011.
        -->
        update InfoVoteItm
        <dynamic prepend="set" >
          <isNotNull prepend="," property="record.empid" >
            EmpID = #record.empid:VARCHAR#
          </isNotNull>
          <isNotNull prepend="," property="record.infodetailId" >
            InfoDetail_ID = #record.infodetailId:INTEGER#
          </isNotNull>
          <isNotNull prepend="," property="record.voteitmdate" >
            VoteItmDate = #record.voteitmdate:TIMESTAMP#
          </isNotNull>
        </dynamic>
        <isParameterPresent >
          <include refid="InfoVoteItm.ibatorgenerated_Example_Where_Clause" />
        </isParameterPresent>
      </update>
      <update id="ibatorgenerated_updateByExample" >
        <!--
          WARNING - This element is automatically generated by Apache iBATIS ibator, do not modify.
          This element was generated on Wed Mar 09 16:57:25 CST 2011.
        -->
        update InfoVoteItm
        set EmpID = #record.empid:VARCHAR#,
          InfoDetail_ID = #record.infodetailId:INTEGER#,
          VoteItmDate = #record.voteitmdate:TIMESTAMP#
        <isParameterPresent >
          <include refid="InfoVoteItm.ibatorgenerated_Example_Where_Clause" />
        </isParameterPresent>
      </update>
    </sqlMap>
    复制代码

    可以看出对表InfoVoteItm做了实体映射(实现增加add,删除delete,修改update,查询select)

    首先分析下映射实体类

    复制代码
      <resultMap id="ibatorgenerated_BaseResultMap" class="abator.model.Infovoteitm" >
        <!--
          WARNING - This element is automatically generated by Apache iBATIS ibator, do not modify.
          This element was generated on Wed Mar 09 16:57:25 CST 2011.
        -->
        <result column="EmpID" property="empid" jdbcType="VARCHAR" />
        <result column="InfoDetail_ID" property="infodetailId" jdbcType="INTEGER" />
        <result column="VoteItmDate" property="voteitmdate" jdbcType="TIMESTAMP" />
      </resultMap>
    复制代码

    其中"id"起标识的作用,"class"映射由iBATIS生成的实体类(路径指向,若要移动该文件此处要及得修改)

    "column"可以随意定义但前提是实体类中有相匹配的字段即"property","jdbcType"设置字段属性(属性与数据库字段类型相同)

    查询(可以看出resultMap是对实体类的一种映射,如果查询select中的字段在实体类中未定义则会出现异常,parameterClass指向的是参数需要注意与class的区别)

    复制代码
      <select id="ibatorgenerated_selectByExample" resultMap="ibatorgenerated_BaseResultMap" parameterClass="abator.model.InfovoteitmExample" >
        <!--
          WARNING - This element is automatically generated by Apache iBATIS ibator, do not modify.
          This element was generated on Wed Mar 09 16:57:25 CST 2011.
        -->
        select EmpID, InfoDetail_ID, VoteItmDate
        from InfoVoteItm
        <isParameterPresent >
          <include refid="InfoVoteItm.ibatorgenerated_Example_Where_Clause" />
          <isNotNull property="orderByClause" >
            order by $orderByClause$
          </isNotNull>
        </isParameterPresent>
      </select>
    复制代码

    查询返回结果值

    复制代码
      <select id="ibatorgenerated_countByExample" parameterClass="abator.model.InfovoteitmExample" resultClass="java.lang.Integer" >
        <!--
          WARNING - This element is automatically generated by Apache iBATIS ibator, do not modify.
          This element was generated on Wed Mar 09 16:57:25 CST 2011.
        -->
        select count(*) from InfoVoteItm
        <include refid="InfoVoteItm.ibatorgenerated_Example_Where_Clause" />
      </select>
    复制代码

    删除

    复制代码
      <delete id="ibatorgenerated_deleteByExample" parameterClass="abator.model.InfovoteitmExample" >
        <!--
          WARNING - This element is automatically generated by Apache iBATIS ibator, do not modify.
          This element was generated on Wed Mar 09 16:57:25 CST 2011.
        -->
        delete from InfoVoteItm
        <include refid="InfoVoteItm.ibatorgenerated_Example_Where_Clause" />
      </delete>
    复制代码

    添加

    1.添加所有项

    复制代码
      <insert id="ibatorgenerated_insert" parameterClass="abator.model.Infovoteitm" >
        <!--
          WARNING - This element is automatically generated by Apache iBATIS ibator, do not modify.
          This element was generated on Wed Mar 09 16:57:25 CST 2011.
        -->
        insert into InfoVoteItm (EmpID, InfoDetail_ID, VoteItmDate)
        values (#empid:VARCHAR#, #infodetailId:INTEGER#, #voteitmdate:TIMESTAMP#)
      </insert>
    复制代码

    2.选择性添加

    复制代码
      <insert id="ibatorgenerated_insertSelective" parameterClass="abator.model.Infovoteitm" >
        <!--
          WARNING - This element is automatically generated by Apache iBATIS ibator, do not modify.
          This element was generated on Wed Mar 09 16:57:25 CST 2011.
        -->
        insert into InfoVoteItm
        <dynamic prepend="(" >
          <isNotNull prepend="," property="empid" >
            EmpID
          </isNotNull>
          <isNotNull prepend="," property="infodetailId" >
            InfoDetail_ID
          </isNotNull>
          <isNotNull prepend="," property="voteitmdate" >
            VoteItmDate
          </isNotNull>
          )
        </dynamic>
        values
        <dynamic prepend="(" >
          <isNotNull prepend="," property="empid" >
            #empid:VARCHAR#
          </isNotNull>
          <isNotNull prepend="," property="infodetailId" >
            #infodetailId:INTEGER#
          </isNotNull>
          <isNotNull prepend="," property="voteitmdate" >
            #voteitmdate:TIMESTAMP#
          </isNotNull>
          )
        </dynamic>
      </insert>
    复制代码

    变更

    1.选择性变更(条件可选)

    复制代码
      <update id="ibatorgenerated_updateByExampleSelective" >
        <!--
          WARNING - This element is automatically generated by Apache iBATIS ibator, do not modify.
          This element was generated on Wed Mar 09 16:57:25 CST 2011.
        -->
        update InfoVoteItm
        <dynamic prepend="set" >
          <isNotNull prepend="," property="record.empid" >
            EmpID = #record.empid:VARCHAR#
          </isNotNull>
          <isNotNull prepend="," property="record.infodetailId" >
            InfoDetail_ID = #record.infodetailId:INTEGER#
          </isNotNull>
          <isNotNull prepend="," property="record.voteitmdate" >
            VoteItmDate = #record.voteitmdate:TIMESTAMP#
          </isNotNull>
        </dynamic>
        <isParameterPresent >
          <include refid="InfoVoteItm.ibatorgenerated_Example_Where_Clause" />
        </isParameterPresent>
      </update>
    复制代码

    2.条件必须

    复制代码
      <update id="ibatorgenerated_updateByExample" >
        <!--
          WARNING - This element is automatically generated by Apache iBATIS ibator, do not modify.
          This element was generated on Wed Mar 09 16:57:25 CST 2011.
        -->
        update InfoVoteItm
        set EmpID = #record.empid:VARCHAR#,
          InfoDetail_ID = #record.infodetailId:INTEGER#,
          VoteItmDate = #record.voteitmdate:TIMESTAMP#
        <isParameterPresent >
          <include refid="InfoVoteItm.ibatorgenerated_Example_Where_Clause" />
        </isParameterPresent>
      </update>
    复制代码

    "model"是对实体类的封装就不说了,看下"dao"层。

    "dao"层生成了两个文件InfovoteitmDAO是接口类对方法的声明(包括增,删,改,查)而InfovoteitmDAOImpl是类是对InfovoteitmDAO接口方法的

    实现。

    InfovoteitmDAO 接口
    复制代码
    package abator.dao;
    
    import abator.model.Infovoteitm;
    import abator.model.InfovoteitmExample;
    import java.sql.SQLException;
    import java.util.List;
    
    public interface InfovoteitmDAO {
        /**
         * This method was generated by Apache iBATIS ibator.
         * This method corresponds to the database table InfoVoteItm
         *
         * @ibatorgenerated Wed Mar 09 16:57:25 CST 2011
         */
        int countByExample(InfovoteitmExample example) throws SQLException;
    
        /**
         * This method was generated by Apache iBATIS ibator.
         * This method corresponds to the database table InfoVoteItm
         *
         * @ibatorgenerated Wed Mar 09 16:57:25 CST 2011
         */
        int deleteByExample(InfovoteitmExample example) throws SQLException;
    
        /**
         * This method was generated by Apache iBATIS ibator.
         * This method corresponds to the database table InfoVoteItm
         *
         * @ibatorgenerated Wed Mar 09 16:57:25 CST 2011
         */
        void insert(Infovoteitm record) throws SQLException;
    
        /**
         * This method was generated by Apache iBATIS ibator.
         * This method corresponds to the database table InfoVoteItm
         *
         * @ibatorgenerated Wed Mar 09 16:57:25 CST 2011
         */
        void insertSelective(Infovoteitm record) throws SQLException;
    
        /**
         * This method was generated by Apache iBATIS ibator.
         * This method corresponds to the database table InfoVoteItm
         *
         * @ibatorgenerated Wed Mar 09 16:57:25 CST 2011
         */
        List<Infovoteitm> selectByExample(InfovoteitmExample example) throws SQLException;
    
        /**
         * This method was generated by Apache iBATIS ibator.
         * This method corresponds to the database table InfoVoteItm
         *
         * @ibatorgenerated Wed Mar 09 16:57:25 CST 2011
         */
        int updateByExampleSelective(Infovoteitm record, InfovoteitmExample example) throws SQLException;
    
        /**
         * This method was generated by Apache iBATIS ibator.
         * This method corresponds to the database table InfoVoteItm
         *
         * @ibatorgenerated Wed Mar 09 16:57:25 CST 2011
         */
        int updateByExample(Infovoteitm record, InfovoteitmExample example) throws SQLException;
    }
    复制代码

    InfovoteitmDAOImpl类

    复制代码
    package abator.dao;
    
    import abator.model.Infovoteitm;
    import abator.model.InfovoteitmExample;
    import com.ibatis.sqlmap.client.SqlMapClient;
    import java.sql.SQLException;
    import java.util.List;
    
    public class InfovoteitmDAOImpl implements InfovoteitmDAO {
        /**
         * This field was generated by Apache iBATIS ibator.
         * This field corresponds to the database table InfoVoteItm
         *
         * @ibatorgenerated Wed Mar 09 16:57:25 CST 2011
         */
        private SqlMapClient sqlMapClient;
    
        /**
         * This method was generated by Apache iBATIS ibator.
         * This method corresponds to the database table InfoVoteItm
         *
         * @ibatorgenerated Wed Mar 09 16:57:25 CST 2011
         */
        public InfovoteitmDAOImpl(SqlMapClient sqlMapClient) {
            super();
            this.sqlMapClient = sqlMapClient;
        }
    
        /**
         * This method was generated by Apache iBATIS ibator.
         * This method corresponds to the database table InfoVoteItm
         *
         * @ibatorgenerated Wed Mar 09 16:57:25 CST 2011
         */
        public int countByExample(InfovoteitmExample example) throws SQLException {
            Integer count = (Integer)  sqlMapClient.queryForObject("InfoVoteItm.ibatorgenerated_countByExample", example);
            return count;
        }
    
        /**
         * This method was generated by Apache iBATIS ibator.
         * This method corresponds to the database table InfoVoteItm
         *
         * @ibatorgenerated Wed Mar 09 16:57:25 CST 2011
         */
        public int deleteByExample(InfovoteitmExample example) throws SQLException {
            int rows = sqlMapClient.delete("InfoVoteItm.ibatorgenerated_deleteByExample", example);
            return rows;
        }
    
        /**
         * This method was generated by Apache iBATIS ibator.
         * This method corresponds to the database table InfoVoteItm
         *
         * @ibatorgenerated Wed Mar 09 16:57:25 CST 2011
         */
        public void insert(Infovoteitm record) throws SQLException {
            sqlMapClient.insert("InfoVoteItm.ibatorgenerated_insert", record);
        }
    
        /**
         * This method was generated by Apache iBATIS ibator.
         * This method corresponds to the database table InfoVoteItm
         *
         * @ibatorgenerated Wed Mar 09 16:57:25 CST 2011
         */
        public void insertSelective(Infovoteitm record) throws SQLException {
            sqlMapClient.insert("InfoVoteItm.ibatorgenerated_insertSelective", record);
        }
    
        /**
         * This method was generated by Apache iBATIS ibator.
         * This method corresponds to the database table InfoVoteItm
         *
         * @ibatorgenerated Wed Mar 09 16:57:25 CST 2011
         */
        @SuppressWarnings("unchecked")
        public List<Infovoteitm> selectByExample(InfovoteitmExample example) throws SQLException {
            List<Infovoteitm> list = sqlMapClient.queryForList("InfoVoteItm.ibatorgenerated_selectByExample", example);
            return list;
        }
    
        /**
         * This method was generated by Apache iBATIS ibator.
         * This method corresponds to the database table InfoVoteItm
         *
         * @ibatorgenerated Wed Mar 09 16:57:25 CST 2011
         */
        public int updateByExampleSelective(Infovoteitm record, InfovoteitmExample example) throws SQLException {
            UpdateByExampleParms parms = new UpdateByExampleParms(record, example);
            int rows = sqlMapClient.update("InfoVoteItm.ibatorgenerated_updateByExampleSelective", parms);
            return rows;
        }
    
        /**
         * This method was generated by Apache iBATIS ibator.
         * This method corresponds to the database table InfoVoteItm
         *
         * @ibatorgenerated Wed Mar 09 16:57:25 CST 2011
         */
        public int updateByExample(Infovoteitm record, InfovoteitmExample example) throws SQLException {
            UpdateByExampleParms parms = new UpdateByExampleParms(record, example);
            int rows = sqlMapClient.update("InfoVoteItm.ibatorgenerated_updateByExample", parms);
            return rows;
        }
    
        /**
         * This class was generated by Apache iBATIS ibator.
         * This class corresponds to the database table InfoVoteItm
         *
         * @ibatorgenerated Wed Mar 09 16:57:25 CST 2011
         */
        private static class UpdateByExampleParms extends InfovoteitmExample {
            private Object record;
    
            public UpdateByExampleParms(Object record, InfovoteitmExample example) {
                super(example);
                this.record = record;
            }
    
            public Object getRecord() {
                return record;
            }
        }
    }
  • 相关阅读:
    插入排序
    排序算法结构表
    两个数字交换的四种方法
    LRU算法实现
    虚拟用户的配置
    【转】Linux查看CPU和内存使用情况
    Linux 多线程开发
    【转】RTSP流理解
    【转】DynDNS使用随笔
    【转】使用 udev 高效、动态地管理 Linux 设备文件
  • 原文地址:https://www.cnblogs.com/cztisthebest/p/5944626.html
Copyright © 2011-2022 走看看