之前是,直接在Mapper類上面添加注解@Mapper,這種方式要求每一個mapper類都需要添加此注解,麻煩。
通過使用@MapperScan可以指定要掃描的Mapper類的包的路徑,比如:
@SpringBootApplication
@MapperScan("com.lz.water.monitor.mapper")
// 添加對mapper包掃描
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
@Mapper的作用
網上查到以下這三個作用,但是目前好像只有第一種被用到,后面2種網上說的都不很很清晰,主要作用還是注入成bean
1:為了把mapper這個DAO交給Spring管理 http://412887952-qq-com.iteye.com/blog/2392672
在之前的文章中,我們定義DemoMapper類,但是並沒有在該類上定義類似@Service或者@Controller之類的注解,那么為什么可以被Spring管理呢?
(1)方式一:使用@Mapper注解
為了讓DemoMapper能夠讓別的類進行引用,我們可以在DemMapper類上添加@Mapper注解:
- @Mapper
- public interface DemoMapper {
- @Insert("insert into Demo(name) values(#{name})")
- @Options(keyProperty="id",keyColumn="id",useGeneratedKeys=true)
- public void save(Demo demo);
- }
2:為了不再寫mapper映射文件 https://blog.csdn.net/phenomenonstell/article/details/79033144
3:為了給mapper接口 自動根據一個添加@Mapper注解的接口生成一個實現類 http://www.tianshouzhi.com/api/tutorials/mapstruct/292