現在大多項目都是使用Mybatis了,但也有些公司使用Hibernate。使用Mybatis最大的特性就是sql需要自己寫(xiě),而寫(xiě)sql就需要傳遞多個(gè)參數。面對各種復雜的業(yè)務(wù)場(chǎng)景,傳遞參數也是一種學(xué)問(wèn)。
下面給大家總結了以下幾種多參數傳遞的方法。
方法1:順序傳參法
#{}里面的數字代表你傳入參數的順序。
這種方法不建議使用,sql層表達不直觀(guān),且一旦順序調整容易出錯。
方法2:@Param注解傳參法
#{}里面的名稱(chēng)對應的是注解 @Param括號里面修飾的名稱(chēng)。
這種方法在參數不多的情況還是比較直觀(guān)的,推薦使用。
方法3:Map傳參法
#{}里面的名稱(chēng)對應的是 Map里面的key名稱(chēng)。
這種方法適合傳遞多個(gè)參數,且參數易變能靈活傳遞的情況。
方法4:Java Bean傳參法
#{}里面的名稱(chēng)對應的是 User類(lèi)里面的成員屬性。
這種方法很直觀(guān),但需要建一個(gè)實(shí)體類(lèi),擴展不容易,需要加屬性,看情況使用。