mybatis常用標簽


<if>標簽

if元素是最常用的判斷語句相當於java中的if語句,他常常與test屬性聯合使用,if  test 就相當於判定, 若符合標簽標簽中的條件,則在SQL語句上添加<if></if>內的條件下面代碼實戰我們會詳細講到

 

增刪改查就不說了。

<where>標簽

where標簽經常跟if標簽搭配使用,where標簽會判斷if標簽里的條件是否成立,如果有條件成立則會拼接執行該條件下的sql語句。where標簽避免所有條件都為空的時候出現“select * from user where ”這種會出錯的情況,當然我們也可以在where后面加入“1=1”簡單的解決。

 

<set>標簽

set標簽一般用在update語句中,set標簽與where標簽類似,當我們在update語句里碰到多個字段相關的問題,在這種情況下我們就會用到set標簽,他也是判斷if標簽里的條件是否成立,然后拼接執行sql語句。

 

<choose>標簽

相比於if標簽二選一,choose標簽就有了第三種選擇,或者更多的選擇,在映射器的動態語句中使用choose..when..otherwise..這三個元素就能滿足不同的業務要求,Mybatis會根據參數的設置進行判斷,來拼接組裝sql語句,當when標簽下無滿足條件,則會執行otherwise標簽里的語句。

 

<foreach>標簽

foreach元素是一個循環語句,他的作用是遍歷集合,他能夠很好的支持數組和List的集合。並對此提供遍歷,foreach標簽常用於in這樣的語法里,進行批量處理

resultMap 標簽

 基本作用:建立SQL查詢結果字段與實體屬性的映射關系信息

 查詢的結果集轉換為java對象,方便進一步操作

 將結果集中的列與java對象中的屬性對應起來並將值填充進去


<resultMap id="getStudentRM" type="EStudnet">
<id property="id" column="ID"/>
<result property="studentName" column="Name"/>
<result property="studentAge" column="Age"/>
</resultMap>
<select id="getStudent" resultMap="getStudentRM">
SELECT ID, Name, Age
FROM TStudent
</select>
標簽說明:
主標簽
id:該resultMap的標志
type:返回值的類名,此例中返回EStudnet類
子標簽:

id:用於設置主鍵字段與領域模型屬性的映射關系,此處主鍵為ID,對應id。
result:用於設置普通字段與領域模型屬性的映射關系

trim標簽
 trim是更靈活的去處多余關鍵字的標簽,他可以實踐where和set的效果。

 where例子的等效trim語句:

<!-- 查詢學生list,like姓名,=性別 -->     
<select id="getStudentListWhere" parameterType="StudentEntity" resultMap="studentResultMap">     
    SELECT * from STUDENT_TBL ST      
    <trim prefix="WHERE" prefixOverrides="AND|OR">     
        <if test="studentName!=null and studentName!='' ">     
            ST.STUDENT_NAME LIKE CONCAT(CONCAT('%', #{studentName}),'%')      
        </if>     
        <if test="studentSex!= null and studentSex!= '' ">     
            AND ST.STUDENT_SEX = #{studentSex}      
        </if>     
    </trim>     
</select>     

SQL標簽

更多用於寫sql語句的一部分,寫在配置文件中的常量

 

include標簽

用於引用常量

----------------------------------------------------------------------

----------------------------------------------------------------------

mybatis 除了使用xml方式還有別的方式嗎?

還可以吧xml改為Mapper接口 

 


免責聲明!

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



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