1.规范
说明:XML映射文件的名称与Mapper接口名称一致,并且将XML映射文件和Mapper接口放置在相同包下(同包同名)。
xML映射文件的namespace属性为Mapper接口全类名一致。
XML映射文件中sql语句的id与Mapper接口中的方法名一致,并保持返回类型一致。
2. 登录官网
说明:点击入门
3.探究已映射的SQL语句
说明:找到已映射的SQL语句
4.粘贴对应的xml文件
5.详细说明
6.动态sql
6.1where标签
说明:where元素只会在子元素有内容的情况下才插入where子句。而且会自动去除子句的开头的AND或OR。
<select id="list" resultType="com.mindskip.xzs.domain.User">
select * from t_user <where>
<if test="name!=null">name like concat("%",#{name},"%") </if>
<if test="age!=null">and age>#{age} </if>
</where>
</select>
6.2if标签
说明:if标签中的test属性书写条件表达式。动态的显示。
6.3sql和include标签
说明:sql通过id定制名,include标签通过refid引入名。也就是sql方法抽取
<sql id="Base_List">
id
, user_uuid, user_name, password, real_name, age, sex, birth_day, user_level, phone,
role, status, image_path, create_time, modify_time, last_active_time, deleted, wx_open_id
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
<include refid="Base_List"/>
from t_user
where id = #{id,jdbcType=INTEGER}
</select>
6.4forEach标签
说明:
collection
: 指定要迭代的集合表达式。它可以是一个属性表达式、一个 Java 集合对象或一个数组。item
: 指定在每次迭代中为集合中的元素赋值的名称。在循环体内,可以使用该名称来引用当前值。index
: (可选)指定在每次迭代中为集合中的元素赋值的索引名称。在循环体内,可以使用该名称来引用当前索引。open
: (可选)指定循环体的开头字符串。separator
: (可选)指定在每个元素之间的分隔符。close
: (可选)指定循环体的结束字符串。