mybatis param映射規(guī)則了解嗎

小樊
81
2024-08-03 05:45:11

MyBatis是一個(gè)開(kāi)源的持久層框架,它的參數(shù)映射規(guī)則是將Java對(duì)象中的屬性與SQL語(yǔ)句中的參數(shù)進(jìn)行映射。

在MyBatis中,參數(shù)映射規(guī)則主要包括以下幾種情況:

  1. 使用@Param注解:可以通過(guò)@Param注解給方法的參數(shù)起一個(gè)別名,這樣就可以在SQL語(yǔ)句中使用這個(gè)別名來(lái)引用參數(shù)。
@Select("SELECT * FROM user WHERE id = #{userId}")
User selectUserById(@Param("userId") Long userId);
  1. 使用Map對(duì)象:如果方法有多個(gè)參數(shù),可以將這些參數(shù)封裝到一個(gè)Map對(duì)象中傳遞給SQL語(yǔ)句。
@Select("SELECT * FROM user WHERE id = #{userId} AND name = #{userName}")
User selectUserByIdAndName(Map<String, Object> params);
  1. 使用POJO對(duì)象:可以直接將一個(gè)POJO對(duì)象作為參數(shù)傳遞給SQL語(yǔ)句,MyBatis會(huì)自動(dòng)將對(duì)象的屬性與SQL語(yǔ)句中的參數(shù)進(jìn)行映射。
@Select("SELECT * FROM user WHERE id = #{id} AND name = #{name}")
User selectUserByIdAndName(User user);

總的來(lái)說(shuō),MyBatis的參數(shù)映射規(guī)則比較靈活,可以通過(guò)不同的方式來(lái)傳遞參數(shù),方便在SQL語(yǔ)句中使用參數(shù)。

0