<!--内容为注释类容-->
<?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是mybaits映射文件的唯一标识,与接口对应--> <mapper namespace="com.jt.mapper.UserMapper"> <!--1.用户新增--> <insert id="方法名" > insert into demo_user(id,name,age,sex) value (null,#{name},#{age},#{sex}) </insert> <!--2.用户修改--> <update id="方法名"> update demo_user set name=#{name},age=#{age} where id=#{id} </update> <!--3.用户删除--> <delete id="方法名"> delete from demo_user where id=#{id} </delete> <!--resultType使用 对象的属性名称与表中的字段不一样,查询时需要使用resultType--> <!--4.用户查询 取中间值查询 转义符号--> <select id="方法名" resultType="返回对象的路径"> <![CDATA[ select *from demo_user where age >#{minAge} and age < #{maxAge} ]]> </select> <!--5.模糊查询--> <select id="方法名" resultType="返回对象的路径的"> select * from demo_user where name like "%"#{name}"%" </select> <!--6.简化sql 公司需要高效查询,中间需要些字段--> <select id="方法名" resultType="返回对象的路径的"> select <include refid="user_cloimn"/> from demo_user </select> <sql id="user_cloimn"> id,name,age,sex </sql> <!--7.mybatis的集合操作 数组--> <select id="方法名" resultType="返回值的对象路径"> select * from demo_user where id in <foreach collection="array" open="(" close=")" separator="," item="id"> #{id} </foreach> </select> <!--8.mybatis的集合操作 List集合--> <select id="方法名" resultType="返回值的对象路径"> select * from demo_user where id in <foreach collection="list" open="(" close=")" separator="," item="id"> #{id} </foreach> </select> <!--9.mybatis的集合操作 map集合--> <select id="方法名" resultType="返回值的对象路径"> select * from demo_user where id in <foreach collection="key" open="(" close=")" separator="," item="id"> #{id} </foreach> </select> <!--因为用户行为不可以控制,有时要求的传入的参数要求是多位,但是参数传的少需要用到动态sql--> <!--10.动态sql 用if判断,如果为空就不执行 查询--> <select id="方法名" resultType="返回值的对象路径"> select * from demo_user <where> <if test="id!=null" >id=#{id}</if> <if test="name!=null">and name=#{name}</if> <if test="age!= null">and age=#{age}</if> <if test="sex!=null">and sex=#{sex}</if> </where> </select> <!--11.动态sql 用if判断,如果为空就不执行 修改--> <update id="方法名"> update demo_user <set> <if test="name!=null">name=#{name}, </if> <if test="age!=null">age=#{age},</if> <if test="sex!=null"> sex=#{sex}</if> </set> where id=#{id} </update> <!--12.动态sql 分支结构 条件选择一个 查询--> <select id="方法名" resultType="返回值的对象路径"> select * from demo_user <where> <choose> <when test="name != null "> name=#{name}</when> <when test="age != null "> age=#{age}</when> <otherwise> sex=#{sex}</otherwise> </choose> </where> </select> <!--13.resultMap使用 对象的属性名称与表中的字段不一样,查询时需要使用resultMap--> <select id="方法名" resultMap="和下面id名字相同"> select * from dog </select> <resultMap id="自定义名字,需要和resultMap内容相同" type="返回值的对象路径"> <!--主键标识--> <id column="dog_id" property="dogId"/> <!--映射其他文件--> <result column="dog_name" property="dogName"/> <result column="dog_age" property="dogAge"/> </resultMap> <!--14. --> </mapper>