zoukankan      html  css  js  c++  java
  • java之mybatis之动态sql

    1. if 判读条件是否满足,满足将会把 sql 语句加上。

    <select id="findUser" parameterType="Map" resultType="User">
            select * from t_user where 1=1 
            <if test="name!=null">
                and name like '${name}%'
            </if>
    </select>

    2. choose, when, otherwise -----when可以有多个

    <select id="findUser" parameterType="Map" resultType="User">
            select * from t_user where 1=1 
            <choose>
                <when test="name!=null">
                    and name like '${name}%'
                </when>
                <otherwise>
                    and age=23
                </otherwise>
            </choose>
        </select>

    3.where 标签 判断是否有条件成立

    如果有条件则加上 where,如果没有则不加。

    where元素知道插入“where”如果它包含的标签中有内容返回的话。

    此外,如果返回的内容以“AND”或者"OR"开头,它会把“AND”获取“OR”去掉。

    <select id="findUser" parameterType="Map" resultType="User">
            select * from t_user 
            <where>
                <if test="name!=null">
                     name like '${name}%'
                </if>
                <if test="age>23">
                    and age=23
                </if>
            </where>
        </select>

    4. trim----overrides属性使用了管道分隔的文本列表来覆写,而且它的空白也是不能忽略的。

    这样的结果是移出了指定在 overrides属性里字符,而在开头插入 prefix属性中指定的字符。

    <select id="findUser" parameterType="Map" resultType="User">
            select * from t_user 
            <trim prefix="order by" prefixOverrides="AND |OR ">
                <if test="age>23">
                    and age desc
                </if>
            </trim>
        </select>

    5. foreach ----经常使用到的功能是集合迭代,通常用在 IN条件句。

    <select id="findUser" parameterType="list" resultType="User">
            select * from t_user 
            <where>
                id in 
                <foreach collection="list" item="var" 
                open="(" close=")" separator=",">
                    #{var}
                </foreach>
            </where>
        </select>
  • 相关阅读:
    jQuery 小特效【文本框折叠隐藏,展开显示】【下拉菜单】【颜色渐变】【弹窗+遮罩】
    jQuery 【事件】【dom 操作】
    jQuery 【选择器】【动画】
    LINQ 小项目【组合查询、分页】
    LINQ 【高级查询】
    LINQ 【增、删、改、查】数据绑定
    WebFrom 【文件上传】
    【转】c# 字符串大小写混合转换
    【转】C#之继承
    类库,通用变量,is/as运算符,委托。
  • 原文地址:https://www.cnblogs.com/Vincent-yuan/p/11297625.html
Copyright © 2011-2022 走看看