案例一:根據ID查詢
<mapper namespace="com.xiaomi.dao.AdminMapper">
<select id="findAdmin" resultType="Admin">
select * from admin where admin_id = #{id}
</select>
</mapper>
注意,select的id要和方法名一致。
案例二:模糊查詢
<select id="queryByName" parameterType="Map" resultMap="studentMap">
select * from `student`
<where>
<if test="name!=null and name!=''">and name like concat('%',#{name},'%')</if>
</where>
limit #{start},#{end}
</select>
注意,本例實現了判斷name是否爲空,在不爲空的情況下查詢,也避免了SQL注入 ,以及分頁查詢,也就是limit關鍵字。
案例三:添加用戶
<insert id="add" parameterType="Student">
INSERT INTO `student` (`name`, `gender`, `score`, `describe`)
VALUES (#{name}, #{gender}, #{score}, #{describe})
</insert>
注意,傳入的參數爲Student類。
案例四:更新用戶
<update id="studentUpdate" parameterType="Student">
UPDATE `student` SET `name`=#{name}, `gender`=#{gender}, `score`=#{score}, `describe`=#{describe}
where `id` = #{id}
</update>
注意,應儘量保持Java類對象中的變量和數據表中的名字一致。
案例五:刪除用戶
<delete id="deleteById" parameterType="int">
delete from student where id = #{id}
</delete>