MyBatis 注解和動態SQL語句


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>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM