zoukankan      html  css  js  c++  java
  • SpringBoot-集成通用mapper

    SpringBoot-集成通用mapper

    SpringBoot-集成通用mapper

    ​ 我们在SpringBoot中整合了MyBatis,但是大量重复的增删改查还是很头疼的问题,MyBatis也给出了解决方案:通用Mapper。

    ​ Mapper的作用:自动生成增删改查的SQL语句 大大减化对单表的操作,不过多表操作还是要我们实现的。

    1. 首先我们将SpringBoot中的MyBatis启动器删除,加入通用Mapper的启动器(此启动器中已经整合了MyBatis需要的相关依赖)。
    <dependency>
                <groupId>tk.mybatis</groupId>
                <artifactId>mapper-spring-boot-starter</artifactId>
                <version>2.1.5</version>
    </dependency>
    
    1. 然后我们需要在Mapper接口中继承Mapper类,其泛型需要指定表对应的Bean对象。(注意导包)
    package cn.rayfoo.mapper;
    
    import cn.rayfoo.pojo.Hero;
    import tk.mybatis.mapper.common.Mapper;
    
    public interface HeroMapper extends Mapper<Hero> {
    }
    
    
    3. 在Bean对象中加入@Table注解和Id注解,用于指定表名称以及主键如果主键是自增长需要用@KeySql指定,如果查询时要忽某个字段需要使用@Transient指定要忽略的字段。
    package cn.ryafoo.core.bean;
    
    import com.sun.javafx.beans.IDProperty;
    import lombok.Data;
    import tk.mybatis.mapper.annotation.KeySql;
    
    import javax.persistence.Id;
    import javax.persistence.Table;
    import javax.persistence.Transient;
    
    /**
     * @author 张瑞丰
     * @description
     * @date 2019/11/14
     */
    @Data
    @Table(name = "person")
    public class Person {
        @Id
        @KeySql(useGeneratedKeys = true)
        private Integer id;
        private String name;
        @Transient
        private Integer age;
    }
    
    
    4. 在启动类上修改MapperScan的包名为通用Mapper的包
    package cn.ryafoo.core;
    
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import tk.mybatis.spring.annotation.MapperScan;
    
    @MapperScan("cn.ryafoo.core.mapper")
    @SpringBootApplication
    public class CoreApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(CoreApplication.class, args);
        }
    
    }
    
  • 相关阅读:
    appium知识01-环境设置
    移动端测试基础知识02
    魔术方法和反射
    面向对象开发: 封装, 继承, 多态
    正则的用法
    内置方法, 第三方模块(math, random, pickle, json, time, os, shutil, zip, tarfile), 导入包
    推导式(列表, 集合, 字典), 生成器
    迭代器, 高阶函数(map, filter, reduce, sorted) , 递归函数
    函数globals和locals用法, LEGB原则, 闭包函数 , 匿名函数
    字符串, 列表, 元祖, 集合, 字典的相关操作和函数, 深浅copy
  • 原文地址:https://www.cnblogs.com/zhangruifeng/p/11897802.html
Copyright © 2011-2022 走看看