MyBatis 注解
MyBatis支持XML和注解兩種方式
MyBatis注解與XML映射文件不同之處在於不需要創建XML映射文件
MyBatis 動態SQL語句
動態SQL是MyBatis的一個強大的特性之一,它是基於OGNL表達式的,可以幫助開發者方便的在SQL語句中實現某些業務邏輯
-
if
-
choose(when/otherwise)
-
trim
-
where
-
set
-
foreach
動態條件查詢
動態條件查詢是指當查詢條件動態改變時,不同的查詢條件對應不同的SQL語句
if 元素:if 元素用來實現動態條件查詢,可以根據不同的查詢條件自動拼接SQL語句,它的使用類似於 java 的 if 條件語句
語法格式
<if test = '查詢條件'> SQL語句片段 </if>
XML配置文件例子
<?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表示命名空間,填寫Mapper映射器接口全路徑-->
<mapper namespace="dao.IUserAnnotation">
<select id="selectByNameAndAgeAndSex" resultType="entity.UserEntity">
select * from tb_user
<where>
<!--根據參數判斷條件,滿足條件則拼接SQL語句-->
<if test="name !=null">
and name = #{name}
</if>
<if test="age !=0">
and age = #{age}
</if>
<if test="sex !=null">
and sex = #{sex}
</if>
</where>
</select>
</mapper>