Mybatis入门(三)之动态sql

Mybatis入门之动态sql

动态拼接sql语句,在我的理解就是相当于Java中的逻辑控制语句(if,,switch。。。)

图片.png
  • 我们要根据id,username,sex。。。做多条件查询

if语句:可以判断参数是否有值

<select id="getList" resultType="cn.zw.pojo.User">
    SELECT
    id,
    username,
    sex,
    birthday,
    address
    FROM
    user
    WHERE 
    <if test="id!=0">
     id > 0
    </if>
</select>   

where语句:去掉多余的and

<select id="getList" resultType="cn.zw.pojo.User">
    SELECT
    id,
    username,
    sex,
    birthday,
    address
    FROM
    user
    WHERE 1=1
    <where>
        <if test="id!=0">
         and id > 0
        </if>
        <if test="sex != null">
        and sex = '男'
        </if>
    </where>
</select>

foreach:相当于sql语句中的in

图片.png

sql:引入语句

图片.png

set:去掉多余的逗号

图片.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容