• 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里可以自动生成。

  • 相关阅读:
    installanywhere制作java installation
    长文件名处理
    Hibernate+ehcache二级缓存技术
    如何在JSP里添加删除cookie
    收集java精确截取字符串
    在什么情况下可以定义static 方法?
    Hibernate2 到 Hibernate3 的问题
    出现java.lang.UnsupportedClassVersionError 错误的原因
    DMI指标又叫动向指标或趋向指标
    Tomcat下log4j设置文件路径和temp目录
  • 原文地址:https://www.cnblogs.com/unique1319/p/13868157.html
Copyright © 2020-2023  润新知