SpringBoot整合通用Mapper

pom引入依赖:

<dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper-spring-boot-starter</artifactId>
            <version>2.1.5</version>
        </dependency>
        <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper</artifactId>
            <version>4.1.5</version>
        </dependency>

定义通用mapper基类

import tk.mybatis.mapper.common.ConditionMapper;
import tk.mybatis.mapper.common.Mapper;

/**
 * description 定制版MyBatis Mapper插件接口,如需其他接口参考官方文档自行添加。
 *
 * @author ceshi
 * @version 1.0
 */
public interface TkMapper<T>
        extends Mapper<T>,
        ConditionMapper<T> {
}

properties文件配置

#配置实体类所在包
mybatis.type-aliases-package=com.ceshi.account.pojo
#配置xml文件路径
mybatis.mapper-locations=classpath:com/ceshi/account/mapping/*Mapper.xml
#配置Mapper基类全路径
mapper.mappers =com.ceshi.account.config.TkMapper
#配置数据库类型
mapper.identity=PostgreSql

修改启动类

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import tk.mybatis.spring.annotation.MapperScan;

@SpringBootApplication
//通用mapper扫描
@MapperScan("com.ceshi.account.mapper")
public class AccountApplication {

    public static void main(String[] args) {
        SpringApplication.run(AccountApplication.class, args);
    }

}

注:此处MapperScan为tk.mybatis.spring.annotation.MapperScan,非org.mybatis.spring.annotation.MapperScan;

定义实体类

@Getter
@Setter
@Table(name = "p_menu")
public class TmpMenu {
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private String id;

    private String code;

    @Column(name = "menu_name")
    private String menuName;

    @Column(name = "parent_id")
    private String parentId;

    private String icon;

    private String url;

    @Column(name = "sort_number")
    private Integer sortNumber;

    private String remark;

    @Column(name = "create_user")
    private String createUser;

    @Column(name = "create_time")
    private Date createTime;

    @Column(name = "update_user")
    private String updateUser;

    @Column(name = "update_time")
    private Date updateTime;
}

注:如果bean实体中含有数据表中不存在的字段,使用@Transient注解

定义mapper

import com.ceshi.account.config.TkMapper;
import com.ceshi.account.pojo.PackingdataMenu;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;

import java.util.List;


/**
 * description 菜单表字段DAO
 *
 * @author szc
 * @date 2022/05/13
 */
@Repository
public interface TmpMenuMapper extends TkMapper<TmpMenu> {

    /**
     * 注解sql
     * @return
     */
    @Select("select * from stream_line")
    List<PackingdataMenu> getAll();

    /**
     * xml定义语句
     */
    PackingdataMenu getById(@Param("mid") String mid);
}

注:mapper中已经继承了TkMapper里面的所有单表操作的增删改查方法,上面的两个方法getAll与getById是我们自定义的方法,一种通过注解定义,另外一种是我们常用的在xml文件里面写方法。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值