应用场景:
在我们查询时,动态sql可以帮我们减少编码量,用一个动态sql就可以解决之前可能要用2~3个sql语句完成的事情
例如 我们要查一个人的信息 有时候使用 id查询 而有时候则使用 名字查
按照之前的方法 我们要写两个方法,而使用动态sql只需要使用一个方法,即根据你传入的条件进行查询 传id 就通过id查 传名字就通过名字查,可能叙述的不太清楚 直接上代码
<select id="getPersonByCondition" resultType="mybatis_03.Person">
select * from person
<where>
<choose>
<when test="id!=null">
id=#{id}
</when>
<when test="name!=null">
name=#{name}
</when>
</choose>
</where>
</select>
此外 动态sql还有很多标签的使用 例如 if标签等等 但是我个人感觉用处不是很大 所以就不详细叙述了 。