码迷,mamicode.com
首页 > 其他好文 > 详细

MyBatis高级查询

时间:2019-11-01 13:17:02      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:rom   名称   source   rod   mes   转义   pac   tty   product   

<?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">

<!-- namespace表示命名空间  保证它是唯一   cn.itsource.mybatis.dao.impl.ProductDaoImpl + id="getUserById"-->
<mapper namespace="_02_highquery.EmployeeMapper">
    <!-- id名称和ProductMapper接口方法一样-->
    <select id="query" resultType="_02_highquery.Employee" parameterType="_02_highquery.EmployeeQuery">
        select * from employee
        <where>
            <include refid="whereSql"></include>
        </where>
    </select>
    <!--抽取sql通过include refid="whereSql"引用-->
    <sql id="whereSql">
        <if test="keywords != null">
            <!-- /* and name like %${keywords}% or password like %${keywords}%*/ -->
            <!-- (1)不行-->
            <!--  and name like %#{keywords}% or password like %#{keywords}% -->
            <!-- (2)可以使用 拼接字符串 存在sql注入-->
            <!-- and name like ‘%${keywords}%‘ or password like ‘%${keywords}%‘ -->
            <!-- (3) concat函数-->
              and name like concat("%",#{keywords},"%")
        </if>
        <if test="minAge != null">
            and age >= #{minAge}
        </if>
        <!-- 转义1)-->

        <!--<if test="maxAge != null">
            and age &lt;= #{maxAge}
        </if>-->
        <!-- 写法(2)CDATA XML-->
        <if test="maxAge != null">
            <![CDATA[
                 and age <= #{maxAge}
              ]]>
        </if>
    </sql>






</mapper>

 

MyBatis高级查询

标签:rom   名称   source   rod   mes   转义   pac   tty   product   

原文地址:https://www.cnblogs.com/xiaoruirui/p/11776283.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!