以前在Spring Boot中整合MyBatis時,採用了註解的配置方式,相信不少人仍是比較喜歡這種優雅的方式的,也收到很多讀者朋友的反饋和問題,主要集中於針對各類場景下註解如何使用,下面就對幾種常見的狀況舉例說明用法。html
下面經過幾種不一樣傳參方式來實現前文中實現的插入操做。app
在以前的整合示例中咱們已經使用了這種最簡單的傳參方式,以下:spa
@Insert("INSERT INTO USER(NAME, AGE) VALUES(#{name}, #{age})") int insert(@Param("name") String name, @Param("age") Integer age);
這種方式很好理解,@Param
中定義的name
對應了SQL中的#{name}
,age
對應了SQL中的#{age}
。.net
以下代碼,經過Map對象來做爲傳遞參數的容器:code
@Insert("INSERT INTO USER(NAME, AGE) VALUES(#{name,jdbcType=VARCHAR}, #{age,jdbcType=INTEGER})") int insertByMap(Map<String, Object> map);
對於Insert語句中須要的參數,咱們只須要在map中填入同名的內容便可,具體以下面代碼所示:htm
Map<String, Object> map = new HashMap<>(); map.put("name", "CCC"); map.put("age", 40); userMapper.insertByMap(map);
除了Map對象,咱們也可直接使用普通的Java對象來做爲查詢條件的傳參,好比咱們能夠直接使用User對象:對象
@Insert("INSERT INTO USER(NAME, AGE) VALUES(#{name}, #{age})") int insertByUser(User user);
這樣語句中的#{name}
、#{age}
就分別對應了User對象中的name
和age
屬性。get