zoukankan      html  css  js  c++  java
  • 关于mapper里的sql简写之include和动态sql

    相信每个人都不喜欢把一句代码写了一遍又一遍

    然而在java开发里,有些代码确实需要写个好几遍

    比如mapper里的sql,查询是select * from 表名;

    然后很多都会有个where条件,根据什么什么查询什么的

    这个时候就会多次出现selece * from 表名; 这个字段

    那么怎样才能简化呢?

    下面说两种方法

    1.include,这个在很多开源框架里还是挺常见的

    我们可以先写一句查询

    <sql id="这个是名字">
    select * from 表名
    </sql>

    是不是在想条件呢?

    不要急,往下看,接下来就写普通的调用

    <select id="名字" resultMap="参数名字">
    --然后加一句这个
    <include refid="这个和上一句查询表的id名字一样"/>
    --然后再接where条件
    where id = #{id}
    </select>

    然后在controller层调用带条件的方法就行,剩下的交给mapper自己去拼接

    这样在多个查询的情况下就可以只写where条件就行啦。

    2.第二种方法就是判断了

    <select id="方法名" resultMap="参数名字">
    --这里接查询语句
    select * from 表民
    --然后是where条件
        <where>  
    <if test="id!= null and id != ''">
    and id= #{id}
    </if>
    <if test="name!= null and name!='' ">
    and name= #{name}
    </if>
    </where>
    --在次接排序或格式条件常见
    </select>

    这就是常用的两种方法啦,希望能对各位开发人员有用!
  • 相关阅读:
    操作符详解(思维导图)
    数组(C语言、思维导图)
    函数(C语言、思维导图)
    分支语句与循环语句(知识点思维导图)
    单链表及其基本操作
    顺序表
    时间复杂度与空间复杂度
    javascript基础知识show
    Java中的四舍五入
    JavaScript中数组迭代方法(jquery)
  • 原文地址:https://www.cnblogs.com/h-w-b/p/13999354.html
Copyright © 2011-2022 走看看