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);
        }
    
    }
    
  • 相关阅读:
    Centos5.8 安装 ImageMagick 6.8.9-3
    Centos5.8 安装 Redmine
    Apache配置中的ProxyPass 和 ProxyPassReverse
    Centos5.8 安装SVN并配置HTTP访问
    Centos5.8 安装 MySQL5.6.19
    Centos5.8 安装 PHP5.5 和 memcached
    CentOS RHEL 安装 Tomcat 7
    Centos5.8 iptables管理
    在SecureCRT中使用rz和sz传输文件
    在Mac mini上安装 ESXi 5.5
  • 原文地址:https://www.cnblogs.com/zhangruifeng/p/11897802.html
Copyright © 2011-2022 走看看