真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

使用MyBatis如何動態(tài)調(diào)用SQL標(biāo)簽

今天就跟大家聊聊有關(guān)使用MyBatis如何動態(tài)調(diào)用SQL標(biāo)簽,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),前進企業(yè)網(wǎng)站建設(shè),前進品牌網(wǎng)站建設(shè),網(wǎng)站定制,前進網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,前進網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

1、動態(tài)SQL片段

通過SQL片段達到代碼復(fù)用

  
     
        select count(*) 
     
     
        select * 
     
     
        from icp 
         
             
                name like '%$name$%' 
             
             
                path like '%path$%' 
             
             
                area_id = #area_id# 
             
             
                hided = #hided# 
             
         
         
             
                 
                    limit #_start#, #_size# 
                 
             
         
     
     
         
         
     
     
         
         
    

2、數(shù)字范圍查詢

所傳參數(shù)名稱是捏造所得,非數(shù)據(jù)庫字段,比如_img_size_ge、_img_size_lt字段                   

  
                = #_img_size_ge# 
            ]]> 
             
             
                 
            

多次使用一個參數(shù)也是允許的      

 
                = #_now# 
                   ]]> 
             
             
                 
            

      3、時間范圍查詢           

    
                 
                    = #_starttime# 
                    and createtime < #_endtime# 
                 ]]> 
                 
            

  4、in查詢                   

   
                state in ('$_in_state$') 
            

 5、like查詢                 

   
                (chnameone like '%$chnameone$%' or spellinitial like '%$chnameone$%') 
             
             
                chnametwo like '%$chnametwo$%' 
            

6、or條件                  

  
                 
            
 
             
                 
            

7、where子查詢              

  
                 
                     
                        code not in 
                        (select t.contentcode 
                        from cms_ccm_programcontent t 
                        where t.contenttype='MZNRLX_MA' 
                        and t.programcode = #exprogramcode#) 
                     
                 
            
     
        select * 
        from cms_ccm_material 
        where code in 
        (select t.contentcode 
        from cms_ccm_programcontent t 
        where t.contenttype = 'MZNRLX_MA' 
        and programcode = #value#) 
        order by updatetime desc 
    

    9、函數(shù)的使用 

   
     
        insert into rulemaster( 
        name, 
        createtime, 
        updatetime, 
        remark 
        ) values ( 
        #name#, 
        now(), 
        now(), 
        #remark# 
        ) 
         
            select LAST_INSERT_ID() 
         
     
     
     
        update rulemaster set 
        name = #name#, 
        updatetime = now(), 
        remark = #remark# 
        where id = #id# 
    

10、map結(jié)果集  

  
     
        select count(a.*) 
     
     
        select a.id        vid, 
        a.img       imgurl, 
        a.img_s     imgfile, 
        b.vfilename vfilename, 
  b.name      name, 
        c.id        sid, 
        c.url       url, 
        c.filename  filename, 
        c.status    status 
     
     
        From secfiles c, juji b, videoinfo a 
        where 
        a.id = b. videoid 
        and b.id = c.segmentid 
        and c.status = 0 
        order by a.id asc,b.id asc,c.sortnum asc 
         
             
                 
                    limit #_start#, #_size# 
                 
             
         
     
     
     
         
         
     
     
     
         
         
    

11、trim

 trim是更靈活的去處多余關(guān)鍵字的標(biāo)簽,他可以實踐where和set的效果。

 where例子的等效trim語句:

Xml代碼 

  
  
  SELECT * from STUDENT_TBL ST  
    
      
      ST.STUDENT_NAME LIKE CONCAT(CONCAT('%', #{studentName}),'%')  
      
      
      AND ST.STUDENT_SEX = #{studentSex}  
      
    

set例子的等效trim語句:

Xml代碼 

  
  
  UPDATE STUDENT_TBL  
    
      
      STUDENT_TBL.STUDENT_NAME = #{studentName},  
      
      
      STUDENT_TBL.STUDENT_SEX = #{studentSex},  
      
      
      STUDENT_TBL.STUDENT_BIRTHDAY = #{studentBirthday},  
      
      
      STUDENT_TBL.CLASS_ID = #{classEntity.classID}  
      
    
  WHERE STUDENT_TBL.STUDENT_ID = #{studentID};  

12、choose (when, otherwise)

         有時候我們并不想應(yīng)用所有的條件,而只是想從多個選項中選擇一個。MyBatis提供了choose 元素,按順序判斷when中的條件出否成立,如果有一個成立,則choose結(jié)束。當(dāng)choose中所有when的條件都不滿則時,則執(zhí)行 otherwise中的sql。類似于Java 的switch 語句,choose為switch,when為case,otherwise則為default。

         if是與(and)的關(guān)系,而choose是或(or)的關(guān)系。

         例如下面例子,同樣把所有可以限制的條件都寫上,方面使用。選擇條件順序,when標(biāo)簽的從上到下的書寫順序:

Xml代碼 

  
  
  SELECT * from STUDENT_TBL ST  
    
      
        
          ST.STUDENT_NAME LIKE CONCAT(CONCAT('%', #{studentName}),'%')  
        
        
          AND ST.STUDENT_SEX = #{studentSex}  
        
        
        AND ST.STUDENT_BIRTHDAY = #{studentBirthday}  
        
        
        AND ST.CLASS_ID = #{classEntity.classID}  
        
        
        
      
    

看完上述內(nèi)容,你們對使用MyBatis如何動態(tài)調(diào)用SQL標(biāo)簽有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。


本文標(biāo)題:使用MyBatis如何動態(tài)調(diào)用SQL標(biāo)簽
分享鏈接:http://weahome.cn/article/jsciso.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部