自学内容网 自学内容网

Mybatis-18.动态SQL-sql&include

一.sql&include

为什么需要<sql>和<include>标签? 这是因为这些代码是重复的,能够消除重复会提高代码的可读性和效率。

那我们就可以使用<sql>标签对这些片段进行一个抽取。然后在原来抽取的地方再将这个<sql>片段引用进来。

二.代码

<?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">
<mapper namespace="com.gjw.mapper.EmpMapper">
    <sql id="commonSelect">
        select id, username, password, name, gender, image, job, entrydate, dept_id, create_time, update_time
        from emp
    </sql>
    <!-- resultType:单条记录所封装的类型 -->
    <select id="select" resultType="com.gjw.pojo.Emp">
        <include refid="commonSelect"></include>
        <where>
            <if test="name != null" >
                name like concat('%', #{name}, '%')
            </if>
            <if test="gender != null">
                and gender = #{gender}
            </if>
            <if test="begin != null and end != null">
                and entrydate between #{begin} and #{end}
            </if>
        </where>
        order by update_time desc
    </select>
</mapper>

这样就完成了SQL片段的抽取与注入。 

三.动态SQL总结


原文地址:https://blog.csdn.net/qq_45055856/article/details/143374331

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!