Mapper.xml

空白Mapper

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.**">

</mapper>

完整Mapper

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.bootdo.system.dao.DeptDao">

    <select id="get" resultType="com.bootdo.system.domain.DeptDO">
        select
        `dept_id`,`parent_id`,`name`,`order_num`,`del_flag` from sys_dept
        where dept_id = #{value}
    </select>

    <select id="list" resultType="com.bootdo.system.domain.DeptDO">
        select `dept_id`,`parent_id`,`name`,`order_num`,`del_flag` from
        sys_dept
        <where>
            <if test="deptId != null and deptId != ''"> and dept_id = #{deptId} </if>
            <if test="parentId != null and parentId != ''"> and parent_id = #{parentId} </if>
            <if test="name != null and name != ''"> and name = #{name} </if>
            <if test="orderNum != null and orderNum != ''"> and order_num = #{orderNum} </if>
            <if test="delFlag != null and delFlag != ''"> and del_flag = #{delFlag} </if>
        </where>
        <choose>
            <when test="sort != null and sort.trim() != ''">
                order by ${sort} ${order}
            </when>
            <otherwise>
                order by dept_id desc
            </otherwise>
        </choose>
        <if test="offset != null and limit != null">
            limit #{offset}, #{limit}
        </if>
    </select>

    <select id="count" resultType="int">
        select count(*) from sys_dept
        <where>
            <if test="deptId != null and deptId != ''"> and dept_id = #{deptId} </if>
            <if test="parentId != null and parentId != ''"> and parent_id = #{parentId} </if>
            <if test="name != null and name != ''"> and name = #{name} </if>
            <if test="orderNum != null and orderNum != ''"> and order_num = #{orderNum} </if>
            <if test="delFlag != null and delFlag != ''"> and del_flag = #{delFlag} </if>
        </where>
    </select>

    <insert id="save" parameterType="com.bootdo.system.domain.DeptDO"
        useGeneratedKeys="true" keyProperty="deptId">
        insert into sys_dept
        (
        `parent_id`,
        `name`,
        `order_num`,
        `del_flag`
        )
        values
        (
        #{parentId},
        #{name},
        #{orderNum},
        #{delFlag}
        )
    </insert>

    <update id="update" parameterType="com.bootdo.system.domain.DeptDO">
        update sys_dept
        <set>
            <if test="parentId != null">`parent_id` = #{parentId}, </if>
            <if test="name != null">`name` = #{name}, </if>
            <if test="orderNum != null">`order_num` = #{orderNum}, </if>
            <if test="delFlag != null">`del_flag` = #{delFlag}</if>
        </set>
        where dept_id = #{deptId}
    </update>

    <delete id="remove">
        delete from sys_dept where dept_id = #{value}
    </delete>

    <delete id="batchRemove">
        delete from sys_dept where dept_id in
        <foreach item="deptId" collection="array" open="(" separator=","
            close=")">
            #{deptId}
        </foreach>
    </delete>
    
    <select id="listParentDept" resultType="long">
        select DISTINCT parent_id from sys_dept
    </select>

    <select id="getDeptUserNumber" resultType="int">
        select count(*) from sys_user where dept_id = #{value}
    </select>
</mapper>

Mapper常用方法

    <resultMap id="CropResultMap" type="agriculture_basedata.entity.Crop" >
        <id column="id" property="id" jdbcType="BIGINT" />
        <result column="crop" property="crop" jdbcType="VARCHAR" />
        <result column="pic" property="pic" jdbcType="VARCHAR" />
        <result column="crop_pic" property="crop_pic" jdbcType="VARCHAR" />
        <result column="status" property="status" jdbcType="INTEGER" />
        <result column="del" property="del" jdbcType="TINYINT" />
    </resultMap>

    <sql id="Crop_Column_List" >
        id, crop, status,pic, crop_pic,del
    </sql>

批量添加

    <insert id="addDayList" parameterType="java.util.List"  useGeneratedKeys="true"  keyProperty="id">
        insert into summary_day
        (energy_type,team,sum,base_data_day,company,equipment_id,total)
        values
        <foreach collection="list" item="hour" index="index"
                 separator=",">
            (
            #{hour.energy_type},#{hour.team},#{hour.sum},
            #{hour.base_data_day},#{hour.company},#{hour.equipment_id},#{hour.total}
            )
        </foreach>
    </insert>

时间常用方法:

DATE_FORMAT(sh.base_data_day, '%Y-%m')

DATE_SUB(#{year}, INTERVAL 1 YEAR)


如果为null返回0

ifnull(ys.val, 0)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • PL/SQL 编程(二)游标、存储过程、函数

    游标--数据的缓存区 游标:类似集合,可以让用户像操作数组一样操作查询出来的数据集,实质上,它提供了一种从集合性质的结果中提取单条记录的手段。 可以将游标形象的...

    二十三年蝉
  • Hibernate框架HQL语句

    这篇随笔将会记录hql的常用的查询语句,为日后查看提供便利。 在这里通过定义了三个类,Special、Classroom、Student来做测试,Special...

    二十三年蝉
  • Java常用工具类之Excel导出

    package com.wazn.learn.util; import java.util.List; import java.util.Map; impor...

    二十三年蝉
  • Docker下,实战mongodb副本集(Replication)

    在《Docker下,极速体验mongodb》一文中我们体验了单机版的mongodb,实际生产环境中,一般都会通过集群的方式来避免单点故障,今天我们就在Docke...

    程序员欣宸
  • 【GO语言】合理配置GOMAXPROCS提升一倍以上的性能

    GOMAXPROCS 用默认的,就是CPU的硬件线程数目, 对于大部分File IO密集的应用是不合适的。 至少应该配置到硬件线程数目的5倍以上, 最大1024...

    Linker
  • 由一个系统激活工具引起的一次简单测试

    新搭建了一个Win7虚拟机环境,随便找了一个激活工具,官网是这样的。。。(全程不会打码,让大家看看这帮人是多坑小白用户),这种站居然上了百度第一名,说明投入很高...

    周俊辉
  • (46) 剖析PriorityQueue / 计算机程序的思维逻辑

    上节介绍了堆的基本概念和算法,本节我们来探讨堆在Java中的具体实现类 - PriorityQueue。 我们先从基本概念谈起,然后介绍其用法,接着分析实现代码...

    swiftma
  • Java的Covariance设计原理和SAP ABAP的模拟实现

    I am the trainer of one standard course “Programming Language Concept” within SA...

    Jerry Wang
  • BciPy:Python中的脑-机接口软件(CS HC)

    脑-机接口(BCI)研究有着很高的技术和软件需求。为了加速BCI的开发和可访问性,关注一些开源的所需工具是值得的。Python是一种著名的计算机语言,目前已经成...

    Elva
  • Kafka漫游记

    我是一条消息,从我被生产者发布到topic的时候,我就清楚自己的使命:被消费者获取消费。但我一直很纳闷,把我直接推送给消费者不就行了,为什么一定要先推送到类似队...

    java达人

扫码关注云+社区

领取腾讯云代金券