zoukankan      html  css  js  c++  java
  • Mybatis语法笔记

    1.条件查询
    <
    sql id="queryColumn"> id, name name </sql> <select id="findList" resultType="packageName"> SELECT <include refid="queryColumn"></include> FROM T_TABLE A WHERE 1 = 1 <if test="name != null and name != '' "> AND (A.NAME like '%${name}' or A.NAME like '${name}%' or A.NAME like '%${name}%') </if> ORDER BY A.CREATE_TIME DESC </select>
    2.函数查询 
    <
    select id="queryAreaData" resultType="packageName"> SELECT
          A.ID code,
          A.NAME name,  (SELECT group_concat(CONCAT('{"code":"',t.id,'",'),CONCAT('"name":"',t.NAME,'"}') SEPARATOR '/') FROM (SELECT b.PARENT_ID,b.id,b.NAME FROM ADS_ADDRESS b where b.level_type =3 GROUP BY b.id,b.NAME)t where t.PARENT_ID=a.id) chird FROM
          ADS_ADDRESS A WHERE
          A.LEVEL_TYPE =2 GROUP BY
          A.ID,A.NAME
    </select>
    3.循环查询
    <
    select id="list" resultType="packageName"> SELECT ID id, NAME name FROM T_TABLE A  WHERE
           A.ID IN  
    <foreach item="item" index="index" collection="array" open="(" separator="," close=")">   #{item} </foreach> </select>
    4.循环插入 
    <
    insert id="insertList"> INSERT INTO T_TABLE( ID, NAME )VALUES <foreach collection="list" item="item" index="index" open="(" separator="),(" close=")"> #{item.id}, #{item.name} </foreach> </insert>
    5.Msp参数判断查询

      Map<String, Integer> map = new HashMap<String, Integer>();
      map.put("pageIndex", pageIndex);
      map.put("pageSize", pageSize);

    <select id="queryBouncePage" parameterType="java.util.Map" resultType="JavaBean">
            SELECT 
                * 
            FROM 
                T_TABLE
            WHERE ID IN
            <foreach collection="ids" item="item" index="index" open="(" separator="," close=")">  
                #{item}  
            </foreach>
            <if test="_parameter.containsKey('pageIndex') and _parameter.containsKey('pageSize')">
                limit #{pageIndex}, #{pageSize}
            </if>
    </select>
    6.属性为对象查询
    public class StoreInfoDto {
        private int id;
        private List<StoreImgDto> imgDtos;// 店铺图片
        private List<StoreLabelDto> labelDtos;// 店铺标签
        private List<StoreReviewDto> reviewDtos;// 店铺评论
        private List<StoreErrorDto> errorDtos;// 顾客报错信息
        private ProvinceDto provinceDto;//
        private CityDto cityDto;//
        private AreaDto areaDto;//
        private String merchantNo;// 商户编号
        private String code;// 编码CODE
        private String name;// 店名
        private String alias;// 店别名
        private String address;// 店铺地址
        private String addressDetail;// 店铺地址详情
    
        .......
    
        get、set.......
    }

      

    <sql id="storeInfoColumn">
            A.ID,
            A.MERCHANT_NO,
            A.CODE,
            A.NAME,
            A.ALIAS,
            A.ADDRESS,
            A.ADDRESS_DETAIL,
            A.NEAR_AREA,
            A.LONGITUDE,
            A.LATITUDE,
            A.STATUS,
            A.PHONE,
            A.PHONE_STANDBY,
            A.MOBILE,
            A.MOBILE_STANDBY,
            A.OFFICE_HOURS,
            A.OFFICE_HOURS_PERIODS,
            A.OFFICE_HOURS_STANDBY,
            A.OFFICE_HOURS_PERIODS_STANDBY,
            A.REVIEW_TIMES,
            A.EFFECT_SCORE,
            A.ENVIRONMENT_SCORE,
            A.SERVER_SCORE,
            A.FAVORITES_TIMES,
            A.REMARK,
            A.CREATE_BY,
            A.CREATE_TIME,
            A.UPDATE_BY,
            A.UPDATE_TIME 
        </sql>
        
        <sql id="storeImgColumn">
            B.ID B_ID,
            B.STORE_ID B_STORE_ID,
            B.TITLE B_TITLE,
            B.SOURCE B_SOURCE,
            B.LARGE B_LARGE,
            B.MEDIUM B_MEDIUM,
            B.THUMBNAIL B_THUMBNAIL,
            B.IMAGE_PATH B_IMAGE_PATH,
            B.TYPE B_TYPE,
            B.STATUS B_STATUS,
            B.ORDER_BY B_ORDER_BY,
            B.CREATE_BY B_CREATE_BY,
            B.CREATE_TIME B_CREATE_TIME,
            B.UPDATE_BY B_UPDATE_BY,
            B.UPDATE_TIME B_UPDATE_TIME
        </sql>
    
        <sql id="storeLableColumn">
            C.ID C_ID,
            C.STORE_ID C_STORE_ID,
            C.NAME C_NAME,
            C.CODE C_CODE,
            C.LARGE C_LARGE,
            C.ORDER_BY C_ORDER_BY,
            C.CREATE_BY C_CREATE_BY,
            C.CREATE_TIME C_CREATE_TIME,
            C.UPDATE_BY C_UPDATE_BY,
            C.UPDATE_TIME C_UPDATE_TIME
        </sql>
    
        <sql id="storeReviewColumn">
            D.ID D_ID,
            D.USER_ID D_USER_ID,
            D.STORE_ID D_STORE_ID,
            D.CONTENT D_CONTENT,
            D.IP D_IP,
            D.IS_SHOW D_IS_SHOW,
            D.STATUS D_STATUS,
            D.SCORE D_SCORE,
            D.EFFECT_SCORE D_EFFECT_SCORE,
            D.ENVIRONMENT_SCORE D_ENVIRONMENT_SCORE,
            D.SERVER_SCORE D_SERVER_SCORE,
            D.HIT_TIMES D_HIT_TIMES,
            D.REMARKS D_REMARKS,
            D.CREATE_BY D_CREATE_BY,
            D.CREATE_TIME D_CREATE_TIME,
            D.UPDATE_BY D_UPDATE_BY,
            D.UPDATE_TIME D_UPDATE_TIME
        </sql>
        
        <sql id="storeErrorColumn">
            E.ID E_ID,
            E.USER_ID E_USER_ID,
            E.STORE_ID E_STORE_ID,
            E.ERROR_TYPE_CODE E_ERROR_TYPE_CODE,
            E.REPETITION_STORE_ID E_REPETITION_STORE_ID,
            E.NEW_LONGITUDE E_NEW_LONGITUDE,
            E.NEW_LATITUDE E_NEW_LATITUDE,
            E.AFFIRM_STORE_ID E_AFFIRM_STORE_ID,
            E.CREATE_BY E_CREATE_BY,
            E.CREATE_TIME E_CREATE_TIME,
            E.UPDATE_BY E_UPDATE_BY,
            E.UPDATE_TIME E_UPDATE_TIME
        </sql>
        
        <sql id="storeReviewImgColumn">
            F.ID F_ID,
            F.STORE_ID F_STORE_ID,
            F.STORE_REVIEW_ID F_STORE_REVIEW_ID,
            F.SOURCE F_SOURCE,
            F.LARGE F_LARGE,
            F.MEDIUM F_MEDIUM,
            F.THUMBNAIL F_THUMBNAIL,
            F.IMAGE_PATH F_IMAGE_PATH,
            F.HIT_TIMES F_HIT_TIMES,
            F.ORDER_BY F_ORDER_BY,
            F.CREATE_BY F_CREATE_BY,
            F.CREATE_TIME F_CREATE_TIME,
            F.UPDATE_BY F_UPDATE_BY,
            F.UPDATE_TIME F_UPDATE_TIME
        </sql>
        
        <sql id="provinceColumn">
            G.ID G_ID,
            G.NAME G_NAME
        </sql>
        
        <sql id="cityColumn">
            H.ID H_ID,
            H.PROVINCE_ID H_PROVINCE_ID,
            H.NAME H_NAME
        </sql>
        
        <sql id="areaColumn">
            I.ID I_ID,
            I.CITY_ID I_CITY_ID,
            I.NAME I_NAME
        </sql>
        
        <sql id="queryColumn">
            <include refid="storeInfoColumn"></include>,
            <include refid="storeImgColumn"></include>,
            <include refid="storeLableColumn"></include>,
            <include refid="storeReviewColumn"></include>,
            <include refid="storeErrorColumn"></include>,
            <include refid="storeReviewImgColumn"></include>,
            <include refid="provinceColumn"></include>,
            <include refid="cityColumn"></include>,
            <include refid="areaColumn"></include>
        </sql>
        
        <select id="queryStoreList" resultMap="storeInfoMap">
            SELECT
                <include refid="queryColumn"></include>
            FROM
                  lrm_store_info a 
              LEFT JOIN lrm_store_image b 
                ON a.id = b.store_id 
              LEFT JOIN lrm_store_label c 
                ON a.id = c.store_id 
              LEFT JOIN lrm_store_review d 
                ON a.id = d.store_id 
              LEFT JOIN lrm_store_error e 
                ON a.id = e.store_id 
              LEFT JOIN lrm_store_review_image f 
                ON d.id = f.store_review_id 
            LEFT JOIN lrm_dict_provinces g 
                ON a.privince_id = g.id 
            LEFT JOIN lrm_dict_citys h 
                ON a.city_id = h.id 
            LEFT JOIN lrm_dict_areas i 
                ON a.area_id = i.id 
        </select>
    
        <resultMap id="storeInfoMap" type="cn.ibaiyou.bf.modules.lrm.wechat.common.store.entity.StoreInfoDto">
            <id column="id" property="id" />
            <result column="merchant_no" property="merchantNo" />
            <result column="code" property="code" />
            <result column="name" property="name" />
            <result column="alias" property="alias" />
            <result column="address" property="address" />
            <result column="address_detail" property="addressDetail" />
            <result column="near_area" property="nearArea" />
            <result column="longitude" property="longitude" />
            <result column="latitude" property="latitude" />
            <result column="status" property="status" />
            <result column="phone" property="phone" />
            <result column="phone_standby" property="phoneStandby" />
            <result column="mobile" property="mobile" />
            <result column="mobile_standby" property="mobileStandby" />
            <result column="office_hours" property="officeHours" />
            <result column="office_hours_periods" property="officeHoursPeriods" />
            <result column="office_hours_standby" property="officeHoursStandby" />
            <result column="office_hours_periods_standby" property="officeHoursPeriodsStandby" />
            <result column="review_times" property="reviewTimes" />
            <result column="effect_score" property="effectScore" />
            <result column="environment_score" property="environmentScore" />
            <result column="server_score" property="serverScore" />
            <result column="favorites_times" property="favoritesTimes" />
            <result column="remark" property="remark" />
            <result column="create_by" property="createBy" />
            <result column="create_time" property="createTime" />
            <result column="update_by" property="updateBy" />
            <result column="update_time" property="updateTime" />
    
            <association property="provinceDto" resultMap="provinceMap" columnPrefix="G_" />
            <association property="cityDto" resultMap="cityMap" columnPrefix="H_"/>
            <association property="areaDto" resultMap="areaMap" columnPrefix="I_"/>
            
            <collection property="imgDtos" resultMap="storeImgMap" columnPrefix="B_"/>
            <collection property="labelDtos" resultMap="storeLabelMap" columnPrefix="C_"/>
            <collection property="reviewDtos" resultMap="storeReviewMap" columnPrefix="D_"/>
            <collection property="errorDtos" resultMap="storeErrorMap" columnPrefix="E_"/>
        </resultMap>
        
    
        <resultMap id="storeImgMap" type="cn.ibaiyou.bf.modules.lrm.wechat.common.store.entity.StoreImgDto">
            <id column="id" property="id" />
            <result column="store_id" property="storeId" />
            <result column="title" property="title" />
            <result column="source" property="source" />
            <result column="large" property="large" />
            <result column="medium" property="medium" />
            <result column="thumbnail" property="thumbnail" />
            <result column="image_path" property="imagePath" />
            <result column="type" property="type" />
            <result column="status" property="status" />
            <result column="order_by" property="orderBy" />
            <result column="create_by" property="createBy" />
            <result column="create_time" property="createTime" />
            <result column="update_by" property="updateBy" />
            <result column="update_time" property="updateTime" />
        </resultMap>
    
        <resultMap id="storeLabelMap" type="cn.ibaiyou.bf.modules.lrm.wechat.common.store.entity.StoreLabelDto">
            <id column="id" property="id" />
            <result column="store_id" property="storeId" />
            <result column="name" property="name" />
            <result column="code" property="code" />
            <result column="large" property="large" />
            <result column="order_by" property="orderBy" />
            <result column="create_by" property="createBy" />
            <result column="create_time" property="createTime" />
            <result column="update_by" property="updateBy" />
            <result column="update_time" property="updateTime" />
        </resultMap>
    
        <resultMap id="storeReviewMap" type="cn.ibaiyou.bf.modules.lrm.wechat.common.store.entity.StoreReviewDto">
            <id column="id" property="id" />
            <result column="user_id" property="userId" />
            <result column="store_id" property="storeId" />
            <result column="content" property="content" />
            <result column="ip" property="ip" />
            <result column="is_show" property="isShow" />
            <result column="status" property="status" />
            <result column="score" property="score" />
            <result column="effect_score" property="effectScore" />
            <result column="environment_score" property="environmentScore" />
            <result column="server_score" property="serverScore" />
            <result column="hit_times" property="hitTimes" />
            <result column="remarks" property="remarks" />
            <result column="create_by" property="createBy" />
            <result column="create_time" property="createTime" />
            <result column="update_by" property="updateBy" />
            <result column="update_time" property="updateTime" />
            
            <collection property="reviewImgDtos" resultMap="storeReviewImgMap" columnPrefix="F_"/>
        </resultMap>
    
        <resultMap id="storeReviewImgMap" type="cn.ibaiyou.bf.modules.lrm.wechat.common.store.entity.StoreReviewImgDto">
            <id column="id" property="id" />
            <result column="store_id" property="storeId" />
            <result column="store_review_id" property="storeReviewId" />
            <result column="source" property="source" />
            <result column="large" property="large" />
            <result column="medium" property="medium" />
            <result column="thumbnail" property="thumbnail" />
            <result column="image_path" property="imagePath" />
            <result column="hit_times" property="hitTimes" />
            <result column="order_by" property="orderBy" />
            <result column="create_by" property="createBy" />
            <result column="create_time" property="createTime" />
            <result column="update_by" property="updateBy" />
            <result column="update_time" property="updateTime" />
        </resultMap>
    
        <resultMap id="storeErrorMap" type="cn.ibaiyou.bf.modules.lrm.wechat.common.store.entity.StoreErrorDto">
            <id column="id" property="id" />
            <result column="user_id" property="userId" />
            <result column="store_id" property="storeId" />
            <result column="source" property="source" />
            <result column="error_type_code" property="errorTypeCode" />
            <result column="repetition_store_id" property="repetitionStoreId" />
            <result column="new_longitude" property="newLongitude" />
            <result column="new_latitude" property="newLatitude" />
            <result column="affirm_store_id" property="affirmStoreId" />
            <result column="create_by" property="createBy" />
            <result column="create_time" property="createTime" />
            <result column="update_by" property="updateBy" />
            <result column="update_time" property="updateTime" />
        </resultMap>
    
        <resultMap id="provinceMap" type="cn.ibaiyou.bf.modules.lrm.wechat.common.dict.ProvinceDto">
            <id column="id" property="id" />
            <result column="name" property="name" />
        </resultMap>
    
        <resultMap id="cityMap" type="cn.ibaiyou.bf.modules.lrm.wechat.common.dict.CityDto">
            <id column="id" property="id" />
            <result column="province_id" property="provinceId" />
            <result column="name" property="name" />
        </resultMap>
        
        <resultMap id="areaMap" type="cn.ibaiyou.bf.modules.lrm.wechat.common.dict.AreaDto">
            <id column="id" property="id" />
            <result column="city_id" property="cityId" />
            <result column="name" property="name" />
        </resultMap>
    7.属性为对象插入
    <
    insert id="insertEpaper"> INSERT INTO T_TABLE( ID, USER_ID, NAME )VALUES <foreach collection="list" item="item" index="index" open="(" separator="),(" close=")"> #{item.id}, #{item.userDto.id}, #{item.name} </foreach> </insert>
    8.批量修改
    jdbc:mysql://127.0.0.1:3306/database?allowMultiQueries=true
    
    <update id="updateList">
        <foreach collection="list" item="item" index="index" open="" close="" separator=";">  
            UPDATE 
                tableName  
            SET
                name = #{item.name},
                update_time = DATE_FORMAT(#{item.updateTime},'%Y-%c-%d %H:%i:%s')
            WHERE
                id = #{item.id}
        </foreach>  
    </update>

    9.批量删除
    <delete id="deleteList" parameterType="String">
       Delete from t_base_user_role WHERE user_id in
    <foreach collection="list" item="item" open="(" separator="," close=")">
    #{item.userId}
    </foreach>
    </delete>
     
  • 相关阅读:
    jQuery选择器
    ViewState对象与Session对象、Cookie对象
    angularjs关于$scope的生命周期详解(转)
    了解AngularJS的$scope的工作原理和生命周期(转载)
    angularjs route 路由
    angularJS--依赖注入
    angularjs动画-ngAnimate--快速上手、使用
    深入浅出理解AngularJS模块
    Angular入门1-之-基础概览02
    Angular入门1-之-基础概览01
  • 原文地址:https://www.cnblogs.com/linying/p/5132310.html
Copyright © 2011-2022 走看看