zoukankan      html  css  js  c++  java
  • Mybatis多参数及实体对象传递

    在使用Mybatis的时候,经常会有各种各样的参数传递,不同类型,不同个数的参数。


    先上个例子:
        public List<LifetouchRelease> findOfficeList(@Param("lifetouchRelease") LifetouchRelease lifetouchRelease,
                @Param("advertisementId") String advertisementId, @Param("officeName") String officeName,

                @Param("isOnline") Integer isOnline);


        <select id="findOfficeList" resultType="LifetouchRelease">
            SELECT
                <include refid="lifetouchReleaseColumns"/>
            FROM lifetouch_release a
            <include refid="lifetouchReleaseJoins"/>
            <where>
                <if test="lifetouchRelease.typeIdentification > 0">
                    AND a.type_identification = #{lifetouchRelease.typeIdentification}
                </if>
                <if test="lifetouchRelease.category != null andlifetouchRelease.category.id != null and lifetouchRelease.category.id != ''">
                    AND a.release_type_id = #{lifetouchRelease.category.id}
                </if>
                AND a.office_id is not null
                AND a.advertisement_id like '%${advertisementId}%'
                AND (select name from sys_office where id=a.office_id) like '%${officeName}%'
                <if test="isOnline != null">
                    AND a.del_flag = #{isOnline}
                </if>
            </where>
            <choose>
                <when test="lifetouchRelease.page !=null andlifetouchRelease.page.orderBy != null and lifetouchRelease.page.orderBy != ''">
                    ORDER BY ${lifetouchRelease.page.orderBy}
                </when>
                <otherwise>
                    ORDER BY a.update_date DESC
                </otherwise>
            </choose>
        </select>


    上面是一个包含:实体对象,普通类型,多个参数的传递。

    多个参数:使用注解的方式实现

    实体对象:实体对象跟普通类型参数传递方法一样,只是在用的时候,以 对象名.(点)对象属性名 的方式调用就可以了。


    其它传递,不过数据类型多复杂也是如此。


  • 相关阅读:
    LintCode "Maximum Gap"
    LintCode "Wood Cut"
    LintCode "Expression Evaluation"
    LintCode "Find Peak Element II"
    LintCode "Remove Node in Binary Search Tree"
    LintCode "Delete Digits"
    LintCode "Binary Representation"
    LeetCode "Game of Life"
    LintCode "Coins in a Line"
    LintCode "Word Break"
  • 原文地址:https://www.cnblogs.com/molashaonian/p/7242038.html
Copyright © 2011-2022 走看看