• Mybatis中常用sql语句


    1.变量的输入:#,$

    在xnm文件中,

    1)  通过 #{参数名} 来将参数放入sql语句中,根据数据类型输入

    例如:select * from A表 a where  a.id=#{id}

    2)   通过 ${参数名} 来表示普通字符

    例如:select * from A_${id} a where  a.id=#{id}  ,假如String id=10,

    那么等价于:select * from A_10 a where  a.id='10'

     2.条件句

    A.在执行条件条件查询时,就会用到该条语句:

      select * from A表 a where 1=1

        <if test="a.id !=null and a.id !=‘’ "> and a.id =#{id}</if>

        <if test="a.name!=null and a.name !=’’ "> and a.name =#{name}</if>

        ......

    B.在执行插入更新语句时,

      update  A表 a set

        <if test="a.id !=null and a.id !=’’ "> a.id =#{id},</if>

        <if test="a.name!=null and a.name !=’’ "> a.name =#{name},</if>

        a.age=#{age}

         ......

    C.模糊查询

      select * from A表 a where 1=1

        <if test="a.id !=null and a.id !=’’ "> and a.id =#{id}</if>

        <if test="a.name!=null and a.name !=’’ "> and a.name like concat(‘%’,#{name},‘%’)</if>

        ......

    核心思想就是:对sql语句进行拼接。同时根据需要,还可以将if条件句提取出来。然后再被引用,例如:

      <select id="xxx" parameterType="com.xxx.xxxx"  resultType="com.xxx.yyy">

        select * from A表 a where 1=1

        <include refid="yyy"><include>

      </select>

       <sql id="yyy">

        <if test="a.id !=null and a.id !=’’ "> and a.id =#{id}</if>

        <if test="a.name!=null and a.name !=’’ "> and a.name =#{name}</if>

        ......

      </sql>

    D.sql中直接使用

      SELECT IF(`status`=1,'正常','禁用') AS `status` FROM area

      Case条件语句:将值改变成其他信息输出

      SELECT `name`,CASE `status`

                WHEN 1 THEN '草稿'

                WHEN 2 THEN '提交'

                WHEN 3 THEN '审核'

                ELSE 'No' END  `status`

      FROM 表A

    3.大于小于符号

    在mybatis中是无法识别sql语句中的“>”,“<”符号的,所以应该使用 “&gt;”来代替“>”,“&lt;”来代替“<”

  • 相关阅读:
    线程(java课堂笔记)
    java中的各种流(老师的有道云笔记)
    面向对象(java菜鸟的课堂笔记)
    泛型(java菜鸟的课堂笔记)
    我做的第一个程序(菜鸟的java课堂笔记)
    java中的一些规则(菜鸟的课堂笔记)
    一位菜鸟的java 最基础笔记
    spatial index (空间索引)
    hadoop 的疑问
    numpy 矩阵的运算
  • 原文地址:https://www.cnblogs.com/momoweiduan/p/8149540.html
Copyright © 2020-2023  润新知