Springboot整合通用mapper

通用Mapper的分享使用

参考博客

Mybatis的通用mapper和Hibernate一样都实现了JPA接口,简化了数据库的操作

和Hibernate的对比

Hibernate和Mybatis都是对数据库的单表操作。Hibernate的封装更加彻底,但是由于写死,性能和框架大小都被限制,而通用Mapper提供一个example来提供给使用者自定义查询

通用Mapper的使用

添加pom依赖
        <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper-spring-boot-starter</artifactId>
            <version>2.0.2</version>
        </dependency>
  • 通用mapper是在springboot集成了Mybatis的基础上进行使用的

    创建通用接口
package com.boss.hr.train.fishkkmybatis.basedao;

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

/**
 *
 *  公用Mapper接口
 *@author  fishkk
 *@version  1.0.0
 *@since
 *
 * 修改人信息
 *@author
 *@version
 *@since
 *
 */
public interface BaseDao<T>  extends Mapper<T>,MySqlMapper<T> {
}

之后- 所有继承BaseDao的接口都最有通用mapper的功能

yml的配置
##通用mapper配置
mapper:
##实体类所在的包
  mappers: com.boss.hr.train.fishkkmybatis.basedao.BaseDao
  identity: MYSQL
创建实体类,这里就省略了,接下来看一下是怎么使用通用mapper的

1609164-20190817104336970-1694535080.png

  • userDao的基类继承了前面定义的BaseDao,可以看到通用mapper定义了一系列自己的函数来简化数据库的操作
  • 但是通用mapper值适合单表操作,如果涉及到夺标操作还是不能避免使用Mybatis来写SQL语句

package com.xyz.mapper;

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

@SpringBootApplication
@MapperScan("com.xyz.mapper.dao")//注意MapperScan要导tk的包,不然会报NoSuchMethodException
public class MapperApplication {

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

最后一步,为添加起步依赖注释

通过example来筛选数据库实例

mybatis的逆向工程中会生成实例及实例对应的example,example用于添加条件,相当where后面的部分
Example为我们创建的实例 Example.createCriteria()为我们创建了条件容器,然后将我们的筛选条件一一添加到里面,最后用这个实例去查询

Example的具体使用

写的很详细,我就不当一个搬运工了。

转载于:https://www.cnblogs.com/fishkk/p/11367709.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值