18、学習MyBatisの - {<セット>と結合<場合>}または{<トリム>と、いくつかのフィールドの更新を達成するために、結合<もし>}によって

Student.java

 

 StudentMapperインターフェースはメソッドを定義します

 

 StudentMapperプロファイルは、それに応じて構成します

方法(<セット>と<もし>結合)

     < 更新ID = "updateStu" > 
         更新スチューデント
         <! - SETはスプライシング(カンマ)の後に、過剰の文字列が削除され、
             例えば、唯一の変更意志ID =#{ID}後(カンマ)IDを除去した後- > 
         < SET > 
             < IF テスト= "ID = NULL!" > 
                 ID =#{ID} 
             </ IF > 
             < IF テスト= "NAME = NULL&アンプ;!&アンプ;! name.trim()= ''" > 
                 }#{名前=名
             </ IF > 
         </ SET > 
         ID =#{ID} 
     </ 更新>

第二の方法(<トリム>と<もし>バインディング)

     < 更新ID = "updateStu" > 
         アップデート学生
         <! - トリム文字列が過剰スプライシング(カンマ)を除去した後に達成することができを通して- > 
         < トリム接頭辞= "SET" suffixOverrides = "" > 
             < IF テスト= "!ID = NULL" > 
                 ID =#{ID} 
             </ IF > 
             < IF テスト= "NAME = NULL&アンプ;!&アンプ;! name.trim()= ''" > 
                 名=#{名前} 
             </ IF > 
         </ TRIM >
         ここで、ID =#{ID} 
     </ 更新>

試験方法

    // 動的SQLの試験{<セット>と<もし>バインディング}または{<トリム>及びバインディング更新が<場合>}いくつかのフィールドを達成する
    @Test
     公共 ボイド testUpdateStu()は、スローにIOException { 
        文字列リソース =「MyBatisの-configと。 XML " ; 
        InputStream InputStreamは = Resources.getResourceAsStream(リソース); 
        SqlSessionFactory SqlSessionFactoryは = 新しい新しいSqlSessionFactoryBuilder()ビルド(InputStreamの);. 
        SQLSESSION SQLSESSION = sqlSessionFactory.openSession(); 
        studentMapper studentMapper = sqlSession.getMapper(studentMapper。クラス); 
        学生学生= studentMapper.updateStu(新しい学生(1、 "小王" )); 
        System.out.println(学生)。
        sqlSession.close(); 
    }

オリジナルデータID 1

 

 試験方法を行った後

 

 

 

おすすめ

転載: www.cnblogs.com/lyh233/p/12359715.html