mybatis注解之@Mapper和@MapperScan的使用
mybatis注解之@Mapper和@MapperScan
在使用Mybatis持久層框架來操作數(shù)據(jù)庫時,我們可以使用@Mapper注解和@MapperScan注解來將Mapper接口類交給Sprinig進(jìn)行管理。
方式一:使用@Mapper注解
優(yōu)點:粒度更細(xì)
缺點:直接在Mapper接口類中加@Mapper注解,需要在每一個mapper接口類中都需要添加@Mapper注解,較為繁瑣
方式二:使用@MapperScan注解
通過@MapperScan可以指定要掃描的Mapper接口類的包路徑
@SpringBootApplication
@MapperScan("com.erayt.mapper")
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
在路徑中可以使用 * 作為通配符對包名進(jìn)行匹配
@SpringBootApplication
@MapperScan("com.erayt.*.mapper")
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
也可以使用@MapperScan注解對多個包進(jìn)行掃描
@SpringBootApplication
@MapperScan("com.erayt.mapperFirst","com.erayt.mapperSecond")
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
@MapperScan和@Mapper區(qū)別及理解
作用
掃描項目中的Dao層,將dao接口類注入到Spring,能夠讓其他類進(jìn)行引用;
@Mapper:在dao接口類中,添加此注解;麻煩的在于,每個dao接口類都必須添加此注解;@MapperScan:可以指定要掃描的dao接口類的路徑,可以在啟動類中添加此注解,可替代@Mapper注解(此模塊內(nèi)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"})
如果沒有,可以使用如下方式進(jìn)行配置:
@MapperScan({"com.kfit.*.mapper","org.kfit.*.mapper"})
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java 將List中的實體類按照某個字段進(jìn)行分組并存放至Map中操作
這篇文章主要介紹了Java 將List中的實體類按照某個字段進(jìn)行分組并存放至Map中操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10
Pattern.compile函數(shù)提取字符串中指定的字符(推薦)
這篇文章主要介紹了Pattern.compile函數(shù)提取字符串中指定的字符,使用的是Java中的Pattern.compile函數(shù)來實現(xiàn)對指定字符串的截取,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-12-12
Java基礎(chǔ)之線程鎖相關(guān)知識總結(jié)
今天給大家?guī)淼氖顷P(guān)于Java線程的相關(guān)知識,文章圍繞著Java線程鎖展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下2021-06-06
Spring的@Value注入復(fù)雜類型(通過@value注入自定義類型)
Spring的@Value可以注入復(fù)雜類型嗎?今天教你通過@value注入自定義類型。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12

