【mybatis】mybatic 用法

truncate表

<update id="truncateESIndex">
        truncate table [table]
</update>

插入map集合

map格式:

Map<String,Integer> map = new HashMap<>();
map.put("2020-3-3",1);
map.put("2020-3-6",1);
map.put("2020-3-7",0);
map.put("2020-3-8",0);

mapper层文件内容:

int insert(@Param("paramsMap")Map<String,Integer> paramsMap);

xml文件内容:

<insert id="insertESIndex" >
        insert into es_index_in_de
        (index_name, status) values
        <foreach item="item" index="key" collection="paramsMap" separator=",">
            (#{key}, #{item})
        </foreach>
</insert>

查询的参数是HashMap

传入的HashMap是<String ,Object>类型,在下面sql中需要对字段指定jdbcType。

<select id="getShardStoreByDisk"  resultMap="shard"  useCache="false" flushCache="true">
        SELECT c.index_name,
               c.shard_num,
               c.ip,
               c.prirep,
               c.store,
               d.disk,
               c.docs,
               c.uuid
        FROM
            (SELECT a.index_name,
                    a.shard_num,
                    a.ip,
                    b.uuid,
                    a.prirep,
                    a.docs,
                    a.store
             FROM es_shard a
                      LEFT JOIN es_index b ON a.index_name = b.index_name)c
                LEFT JOIN es_shard_store d ON c.uuid = d.index_uuid
                AND d.shard_num = c.shard_num
                AND d.node = c.ip
        where d.node = #{node, jdbcType=VARCHAR}
          and d.disk = #{disk, jdbcType=VARCHAR}
        order by
            c.store
            desc
            limit #{page, jdbcType=VARCHAR},#{size,jdbcType=VARCHAR};
    </select>

将txt文件数据导入mysql

xml 文件

<select id="loadShardData">
        LOAD DATA local INFILE '/Users/es_shard.txt' ignore into table `ry-vue`.es_shard fields
      terminated by ' ' lines terminated by '\n';
</select>

大于小于

例如,>=开始日期 并且<=结束日期

&gt; > 大于

&lt; < 小于

&gt;= >= 大于等于

&lt; <= 小于等于

posted @ 2022-11-10 19:25  彬在俊  阅读(31)  评论(0)    收藏  举报