1. 程式人生 > 實用技巧 >mybatis 工作常用語法

mybatis 工作常用語法

轉義字元

大於號 > >
小於號 < &lt;
& &amp;
單引號 " &apos;
雙引號 ' &quot;

foreach的用法

foreach元素的屬性主要有item,index,collection,open,separator,close。

  • item:集合中元素迭代時的別名,該引數為必選。
  • index:在list和陣列中,index是元素的序號,在map中,index是元素的key,該引數可選
  • open:foreach程式碼的開始符號,一般是(和close=")"合用。常用在in(),values()時。該引數可選
  • separator:元素之間的分隔符,例如在in()的時候,separator=","會自動在元素中間用“,“隔開,避免手動輸入逗號導致sql錯誤,如in(1,2,)這樣。該引數可選。
  • close:foreach程式碼的關閉符號,一般是)和open="("合用。常用在in(),values()時。該引數可選。
  • collection:要做foreach的物件,作為入參時,List物件預設用"list"代替作為鍵,陣列物件有"array"代替作為鍵,Map物件沒有預設的鍵。當然在作為入參時可以使用@Param("keyName")來設定鍵,設定keyName後,list,array將會失效。 除了入參這種情況外,還有一種作為引數物件的某個欄位的時候。舉個例子:如果User有屬性List ids。入參是User物件,那麼這個collection = "ids".如果User有屬性Ids ids;其中Ids是個物件,Ids有個屬性List id;入參是User物件,那麼collection = "ids.id"
AND t1.img_name IN
        <foreach collection="imgNames" index="index" item="item" open="(" separator="," close=")">
            #{item}
        </foreach>
        是否是某個特定字串
        <if test="rankWay=='byAssessDate'  ">

collection用法

<resultMap id="selectMap" type="com.pwl.vcloud.common.entity.UserVO"
> <id column="id" property="id" /> <result column="username" property="username" /> <result column="nickname" property="nickname" /> <result column="password" property="password" /> <result column="enabled" property="enabled" /> <result column="email" property="email" /> <result column="userface" property="userface" /> <result column="reg_time" property="regTime" /> <collection property="roleList" ofType="com.pwl.vcloud.common.entity.Roles"> <id column="r_id" property="id"></id> <result column="role_name" property="name"></result> <result column="role_code" property="roleCode"></result> </collection>
</resultMap>
public class UserVO implements Serializable {
 
    private Integer id;
    private String username;
    private String nickname;
    private String password;
    private Integer enabled;
    private String email;
    private String userface;
    private Date regTime;
    /**
     * 角色列表
     */
    private List<Roles> roleList = new ArrayList<>();
   //其他

}