• Springboot整合通用Mapper


      一次偶然的机会接触到了通用mapper之后,就不再想用mapper.xml文件编写sql语句操作数据库了,使用通用mapper更加简洁,因为通用mapper已经封装了很多常用的sql。具体使用mapper.xml还是通用mapper可以根据实际情况进行选择。因为用着很爽,所以一直想写篇笔记记录一下项目中整合通用mapper的方法,今天得空,按照以前的习惯,还是通过一个新建项目来简单说明一下。

    创建Springboot项目
    1.在新建项目中勾选下面几个依赖(lombok不是整合必须的)

    在这里插入图片描述

    2.到maven远程仓库中下载通用mapper依赖和阿里的druid连接池依赖

      <!-- alibaba的druid数据库连接池 -->
        <dependency>
          <groupId>com.alibaba</groupId>
          <artifactId>druid-spring-boot-starter</artifactId>
          <version>1.1.21</version>
        </dependency>
    
        <!-- 通用mapper-->
        <dependency>
          <groupId>tk.mybatis</groupId>
          <artifactId>mapper-spring-boot-starter</artifactId>
          <version>2.1.5</version>
        </dependency>
    
    

    3.创建一个commons包,在此包中新建一个BaseMapper接口。

    @Component
    public interface BaseMapper<T> extends Mapper<T>, MySqlMapper<T> {
    
    }
    

    4.在application.properties配置文件中配置数据库连接等信息……

    server:
      port: 8082
    
    #数据库连接信息
    spring:
      #数据库
      datasource:
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: 数据库连接url
        username: 用户名
        password: 密码
        type: com.alibaba.druid.pool.DruidDataSource
    
        #mybatis和mapper相关配置
    mybatis:
      type-aliases-package: org.woodside.demo.entiy
      configuration:
        #开启下划线自动转驼峰命名
        map-underscore-to-camel-case: true
    
    mapper:
      identity: MYSQL
      #自定义的BaseMapper接口路径
      mappers: org.woodside.demo.commons.BaseMapper
      not-empty: true
      enum-as-simple-type: true
    

    5.做完以上配置,就可以创建controller、service、serviceImpl、mapper等目录了(这里我个人习惯直接这样称呼表明视图层、持久层等)

    下面是此案例的目录结构:
    在这里插入图片描述
    6.附上项目中各个类的代码:
      controller

    
    @RestController
    public class MpCouponController {
    
    	@Autowired
    	private MpCouponService mpCouponService;
    
    	@ResponseBody
    	@RequestMapping("/getList")
    	public Object getList() {
    		List<MpCoupon> mpCoupons = mpCouponService.queryList();
    		return mpCoupons;
    	}
    
    }
    

      service

    public interface MpCouponService {
    
    
    	List<MpCoupon> queryList();
    }
    
    

      serviceImpl

    @Service
    public class MpCouponServiceImpl implements MpCouponService {
    
    	@Autowired
    	private MpCouponMapper mpCouponMapper;
    
    	@Override
    	public List<MpCoupon> queryList() {
    		return mpCouponMapper.selectAll();
    	}
    }
    
    

      mapper

    @Mapper
    @Component
    public interface MpCouponMapper extends BaseMapper<MpCoupon> {
    
    
    }
    
    

    注意:
    在mapper中,继承了我们自定义的BaseMapper

    通过如上操作,就可以使用通用mapper中封装的增删改查方法了,避免了使用mapper.xml文件的时候,位置放在哪里合适的问题,同时项目看起来没有那么臃肿了。
    在这里插入图片描述
    7.启动项目,访问getList接口,返回数据正常,springboot项目整合通用mapper搞定。
    在这里插入图片描述

  • 相关阅读:
    Python Scrapy 爬虫入门
    Python Requests 高级用法
    Python Requests库快速入门
    linux 高并发事件触发处理 — epoll
    初识Python爬妹子图片
    android 使用gradle实现资源自动拷贝
    Android Studio Cmake使用 (附带demo)
    JNI 学习笔记
    Cmake 常见命令说明
    mybatis逆向工程生成代码
  • 原文地址:https://www.cnblogs.com/wgty/p/12810483.html
Copyright © 2020-2023  润新知