400電話 400-660-7376
                                                                                      知識庫_柳州依米軟件科技有限責任公司
                                                                                      軟件定制_柳州依米軟件科技有限責任公司網站建設_柳州依米軟件科技有限責任公司APP開發_柳州依米軟件科技有限責任公司微信營銷_柳州依米軟件科技有限責任公司
                                                                                    1. 咨詢電話
                                                                                    2. 0772-8256510
                                                                                    3. 聯系QQ
                                                                                    4. 732570672
                                                                                    5. 手機號碼
                                                                                    6. 18577274336
                                                                                    7. E-mail
                                                                                    8. oa@www.sbeditor.com
                                                                                    9. 當前位置:首頁知識庫

                                                                                      MyBatis 學習分享

                                                                                      來源:原創    作者:依米科技-王天睿    時間:2017-12-28

                                                                                      MyBatis是一個基于java的持久層框架,支持普通SQL查詢,存儲過程及高級映射。它避免了幾乎所有的JDBC代碼和參數的手工設置以及對結果集的封裝。并且可以使用簡單的XML或注解來配置和映射原生信息。

                                                                                      MyBatis最強大的功能之一就是動態SQL語句功能,傳統JDBC的方法在進行組合復雜的SQL語句的時候,需要去拼接,難免會出現一不留神少了個空格、逗號導致程序錯誤。MyBatis的動態SQL功能正好解決了這個問題,通過在XML文件里配置,可以非常靈活的組合SQL語句,提高開發效率。

                                                                                      897287-20160227222125065-2096129627.png

                                                                                           1.if標簽

                                                                                      if標簽可以用在很多類型的SQL語句中,下面先看一個很簡單的例子。

                                                                                           <select id="UserAll"resultType="user">

                                                                                              select * from user username=#{username}

                                                                                           </select>

                                                                                      如果我們傳入的值是null,這條語句就很可能報錯或者查詢結果為空。因此我們需要加入if標簽先進行判斷,如果值為null或者空字符串時,不會將此條件加入查詢語句中,增加了靈活性。

                                                                                           <select id="UserAll"resultType="user">

                                                                                              select * from user where

                                                                                              <if test=" username!= null and username!= '' "> 

                                                                                                          username = #{username}

                                                                                                    </if>

                                                                                           </select>

                                                                                       

                                                                                           2.if+set更新語句

                                                                                      update語句中沒有使用if標簽時,如果有一個參數為null,都會導致修改之后這個參數為空或報錯。

                                                                                      當在update語句中使用if標簽時,如果前面的if沒有執行,則或導致逗號多余錯誤。使用set標簽可以將動態的配置SET標簽,去除追加到條件末尾的任何不相關的逗號。

                                                                                      使用if+set標簽執行修改后,如果某個字段為null則不會更新這個字段。

                                                                                           <update id="updateUser"parameterType="com.lzyim.entity.User">

                                                                                             update user
                                                                                                  <set>

                                                                                               <if test="name != null">username = #{ username},</if>

                                                                                               <if test="password != null">password =#{password},</if>

                                                                                                 </set>

                                                                                             where id = #{id}

                                                                                           </update>

                                                                                      本文鏈接:http://www.sbeditor.com:80/repository/1040,轉載請保留出處!
                                                                                      本站部分圖文來源網絡,如有侵權請您聯系我們刪除,謝謝。
                                                                                        聯系我們
                                                                                      wechatcode
                                                                                      wechatico官方微信公眾號
                                                                                      weibocode
                                                                                      weiboico新浪官方微博
                                                                                      wanganico

                                                                                      桂公網安備 45029002000034號

                                                                                      備案號:桂ICP備13005335號-1

                                                                                      展開
                                                                                      他扒开我内裤夹我蛋让我憋尿