• springboot 使用mybatis 通用Mapper,pagehelper


    首先需要maven导入需要的包,这里用的是sqlserver,druid,jtds连接数据库

    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>1.0.27</version>
    </dependency>
    <dependency>
        <groupId>net.sourceforge.jtds</groupId>
        <artifactId>jtds</artifactId>
        <version>1.3.1</version>
    </dependency>
    <!--mapper-->
    <dependency>
        <groupId>tk.mybatis</groupId>
        <artifactId>mapper-spring-boot-starter</artifactId>
        <version>1.1.0</version>
    </dependency>
    <!--pagehelper-->
    <dependency>
        <groupId>com.github.pagehelper</groupId>
        <artifactId>pagehelper-spring-boot-starter</artifactId>
        <version>1.2.5</version>
    </dependency>

    然后在application.properties中配置使用

    # 驱动配置信息
    spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
    spring.datasource.url = jdbc:jtds:sqlserver://路径/库
    spring.datasource.username = **
    spring.datasource.password = **
    spring.datasource.driverClassName = net.sourceforge.jtds.jdbc.Driver
    
    #mybatis
    mybatis.typeAliasesPackage=com.example.bean
    mybatis.mapperLocations=classpath*:/mybatis/mapper/*Mapper.xml
    mybatis.configuration.use-generated-keys=true
    mybatis.configuration.mapUnderscoreToCamelCase=true
    
    #分页插件
    pagehelper.helperDialect=sqlserver
    pagehelper.reasonable=true
    pagehelper.supportMethodsArguments=true
    pagehelper.params=count=countSql

    其中:

    com.example.bean:放置数据库实体类

    mybatis/mapper:mybatis的mapper.xml(自定义方法配置)

    接口类自定义基类IBaseMapper(注意:不要跟其他mapper类放在一起)

    /**
     * 通用 Mapper接口
    *
    * @author sky
    * @version 1.0
    */

    public interface IBaseMapper<T extends AbstractDBEntity> extends Mapper<T>, MySqlMapper<T> { }

    在入口类加上(其中com.example.mapper为mapper类放置包名)

    @MapperScan(basePackages = { "com.example.mapper" })

    这样就可以使用mybatis了

    配置通用mapper

    网上的方法在配置中使用mapper.mappers等等不知道为什么不行,在这里使用@Configuration的方式,注意入口类添加@ComponentScan扫描

    新建MapperConfig类

    /**
     * @author sky
     * @version 1.0
     */
    @Configuration
    public class MapperConfig {
    
        @Bean
        public MapperScannerConfigurer mapperScannerConfigurer() {
            MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer();
            mapperScannerConfigurer.setBasePackage("com.example.mapper");
            Properties propertiesMapper = new Properties();
            //通用mapper位置,不要和其他mapper、dao放在同一个目录
            propertiesMapper.setProperty("mappers", IBaseMapper.class.getName());
            propertiesMapper.setProperty("notEmpty", "false");
            mapperScannerConfigurer.setProperties(
                    propertiesMapper);
            return mapperScannerConfigurer;
        }
    
    }

    测试新建mapper实现:()

    /**
     * @author sky
     * @version 1.0
     */
    public interface RegionMapper extends IBaseMapper<Region> {
    }

    这里就不做多实现了。。

  • 相关阅读:
    ThinPHP v5.x安装初始化配置(项目实战)
    Bresenham快速画直线算法
    arm笔记之MOV
    Blackfin DSP的C语言优化之Circular Buffer
    Visual DSP定点数(fract)使用指南
    全局二值化
    Blackfin DSP学习心得与参考资料
    Linux网络配置
    一般方程与参数方程求直线交点
    一个改进的快速排序实现
  • 原文地址:https://www.cnblogs.com/skyLogin/p/9177964.html
Copyright © 2020-2023  润新知