MyBatisPlus 配置


目錄結構如下:

- com.algol.common
    - config
        - MybatisPlusConfig.java
    - dao.mmd
        - entity
            - TabOminCmCcStationplat.java
        - mapper
            - TabOminCmCcStationplatMapper.java
            - TabOminCmCcStationplatMapper.xml
        -service
            - impl
                - TabOminCmCcStationplatServiceImpl.java
            - ITabOminCmCcStationplatService.java
    

1、 @MapperScan 配置掃描Mapper接口,例如:

@Configuration
@MapperScan(basePackages = {
        "com.algol.common.dao.mmd.mapper"
})
public class MybatisPlusConfig {
}

2、mapper-locations 配置xml掃描,例如:

mybatis-plus:
  mapper-locations: classpath:com/algol/common/dao/mmd/mapper/*.xml
---
  type-aliases-package: com.algol.common.dao.mmd.entity

注意:該配置項從resource目錄下開始掃描,如果xml文件生成在工程resource目錄下,則只需要配置為: classpath:mapper/*.xml
如果xml文件生成在src目錄下,則還需要在pom文件中將相應src下目錄映射到resource目錄下:

<build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
        </resources>
    </build>

mapper-locations則配置為:

mybatis-plus:
  mapper-locations: classpath:com/algol/common/dao/mmd/mapper/*.xml

3、type-aliases-package 配置掃描實體類:

mybatis-plus:
  type-aliases-package: com.algol.common.dao.mmd.entity

4、@Mapper 可以給mapper接口自動生成一個實現類,讓spring對mapper接口的bean進行管理,並且可以省略去寫復雜的xml文件。

如果sql寫在xml文件中,則無需使用@Mapper 注解,因為xml文件中已經定義了命名空間映射。如果sql寫在注解里,則必須使用@Mapper 注解,例如:

@DS("mmd")
@Mapper
public interface TabOminCmCcStationplatMapper extends BaseMapper<TabOminCmCcStationplat> {

    @Select("select * from TAB_OMIN_CM_CC_STATIONPLAT where C_INDEXNBR = #{iiiii}")
    TabOminCmCcStationplat findById(String iiiii);

}

可以默認將@Mapper 注解加上,保持一個好的習慣,反正也沒什么壞處。而好處是,可以混合使用,簡單的sql基於注解,復雜的sql基於xml。

5、@Param 的作用是給參數命名,參數命名后就能根據名字得到參數值,正確的將參數傳入sql語句中。

建議傳參時加上該注解,以保證多參數傳入時,可能會導致不可預料的出錯,例如:

TabOminCmCcStationplat findById(@Param(value = "iiiii") String iiiii);

6、IDEA里安裝 MyBatisPlus 插件,可以大大提高開發效率,該插件可以方便在xml和mapper間來回自由跳轉,同時支持mapper里新加接口時,xml里可以自動生成。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM