這篇文章主要介紹“如何使用mybatis注解中的@Mapper和@MapperScan”,在日常操作中,相信很多人在如何使用mybatis注解中的@Mapper和@MapperScan問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何使用mybatis注解中的@Mapper和@MapperScan”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
mybatis注解之@Mapper和@MapperScan
方式一:使用@Mapper注解
方式二:使用@MapperScan注解
@MapperScan和@Mapper區別及理解
作用
掃描一個包
掃描多個包
在使用Mybatis持久層框架來操作數據庫時,我們可以使用@Mapper注解和@MapperScan注解來將Mapper接口類交給Sprinig進行管理。
優點:粒度更細
缺點:直接在Mapper接口類中加@Mapper注解,需要在每一個mapper接口類中都需要添加@Mapper注解,較為繁瑣
通過@MapperScan可以指定要掃描的Mapper接口類的包路徑
@SpringBootApplication @MapperScan("com.erayt.mapper") public class App { public static void main(String[] args) { SpringApplication.run(App.class, args); } }
在路徑中可以使用 * 作為通配符對包名進行匹配
@SpringBootApplication @MapperScan("com.erayt.*.mapper") public class App { public static void main(String[] args) { SpringApplication.run(App.class, args); } }
也可以使用@MapperScan注解對多個包進行掃描
@SpringBootApplication @MapperScan("com.erayt.mapperFirst","com.erayt.mapperSecond") public class App { public static void main(String[] args) { SpringApplication.run(App.class, args); } }
掃描項目中的Dao層,將dao接口類注入到Spring,能夠讓其他類進行引用;
@Mapper
:在dao接口類中,添加此注解;麻煩的在于,每個dao接口類都必須添加此注解;
@MapperScan
:可以指定要掃描的dao接口類的路徑,可以在啟動類中添加此注解,可替代@Mapper注解(此模塊內dao接口類不用都添加@Mapper注解)
@MapperScan("com.demo.mapper")
:掃描指定包中的接口
@MapperScan("com.demo.*.mapper")
:一個 * 代表一級包;比如可以掃到com.demo.aaa.mapper,不能掃到com.demo.aaa.bbb.mapper
@MapperScan("com.demo.**.mapper")
:兩個 * 代表任意個包;比如可以掃到com.demo.aaa.mapper,也可以掃到com.demo.aaa.bbb.mapper
如果dao接口類在主程序可以掃描的包或者子包下面:
@MapperScan({"com.kfit.demo","com.kfit.user"})
如果沒有,可以使用如下方式進行配置:
@MapperScan({"com.kfit.*.mapper","org.kfit.*.mapper"})
到此,關于“如何使用mybatis注解中的@Mapper和@MapperScan”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。