• mybatis动态sql语法


    1. "1.0" encoding="UTF-8" ?>
    2. mapper
    3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    5. <mapper namespace="com.qvfan.mybatistest.mapper.EmpMapper">
    6. <sql id="commonSelect">
    7. select id,username,password,name,gender,image,job,entrydate,dept_id,create_time,update_time
    8. from emp
    9. sql>
    10. <select id="list" resultType="com.qvfan.mybatistest.pojo.Emp">
    11. <include refid="commonSelect">include>
    12. <where>
    13. <if test="name != null">
    14. name like concat('%', #{name}, '%')
    15. if>
    16. <if test="gender != null">
    17. and gender = #{gender}
    18. if>
    19. <if test="begin != null and end != null">
    20. and entrydate between #{begin} and #{end}
    21. if>
    22. where>
    23. order by update_time desc
    24. select>
    25. <update id="update2" >
    26. update emp
    27. <set>
    28. <if test="username != null">username =#{username},if>
    29. <if test="name != null">name=#{name},if>
    30. <if test="gender != null">gender=#{gender},if>
    31. <if test="image != null">image=#{image},if>
    32. <if test="job != null">job=#{job},if>
    33. <if test="entrydate != null">entrydate=#{entrydate},if>
    34. <if test="deptId != null">dept_id=#{deptId},if>
    35. <if test="updateTime != null">update_time=#{updateTime}if>
    36. set>
    37. where id = #{id};
    38. update>
    39. <delete id="deleteById">
    40. delete from emp where id in
    41. <foreach collection="ids" item="id" separator="," open="(" close=")">
    42. #{id}
    43. foreach>
    44. delete>
    45. mapper>

    以上

    查询使用了sql include 将通用的抽离出来,用where if 来进行判断 从而实现 动态sql

    更新使用了set if

    删除使用了foreach 来进行批量删除

  • 相关阅读:
    k8s基本概念
    二维纳米材料
    ASCII码-对照表
    leetcode day05 加一
    SpringBoot-配置文件properties/yml分析+tomcat最大连接数及最大并发数
    如何利用AI技术优化独立站客服系统?听听专家怎么说!
    数据库基础
    浅谈ThreadLocal
    java ThreadLocal
    目标检测——day49 基于级联注意力与点监督机制的考场目标检测模型
  • 原文地址:https://blog.csdn.net/VVVVV16/article/details/134497741