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的

- 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的具体使用
写的很详细,我就不当一个搬运工了。
Springboot整合通用mapper的更多相关文章
- Springboot 整合通用mapper和pagehelper展示分页数据(附github源码)
简介 springboot 设计目的就是为了加速开发,减少xml的配置.如果你不想写配置文件只需要在配置文件添加相对应的配置就能快速的启动的程序. 通用mapp 通用mapper只支持对单表的操作,对 ...
- spring-boot | 整合通用Mabatis 分页插件PageHelper
Mybatis通用Mapper介绍 Mybatis 通用 Mapper 极其方便的使用 Mybatis 单表的增删改查,支持单表操作,不支持通用的多表联合查询 优点: 通用 Mapper 可以极大的方 ...
- Mybatis整合通用Dao,Mybatis整合通用Mapper,MyBatis3.x整合通用 Mapper3.5.x
Mybatis整合通用Dao,Mybatis整合通用Mapper,MyBatis3.x整合通用 Mapper3.5.x ============================== 蕃薯耀 2018年 ...
- SpringBoot第六篇:整合通用Mapper
作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/10876339.html 版权声明:本文为博主原创文章,转载请附上博文链接! 引言 在以往的项 ...
- springboot与通用mapper的整合
找到springboot工程下的pom.xml文件,导入如下的依赖jar包 <!--配置通用Mapper start--> <dependency> <groupId&g ...
- SpringBoot快速整合通用Mapper
前言 后端业务开发,每个表都要用到单表的增删改查等通用方法,而配置了通用Mapper可以极大的方便使用Mybatis单表的增删改查操作. 通用mapper配置 1.添加maven: <depen ...
- Spring Boot从入门到实战:整合通用Mapper简化单表操作
数据库访问是web应用必不可少的部分.现今最常用的数据库ORM框架有Hibernate与Mybatis,Hibernate貌似在传统IT企业用的较多,而Mybatis则在互联网企业应用较多.通用Map ...
- springboot搭建通用mapper
对于搭建一个小项目自己测试玩如果采用传统的SSM框架配置起来太过于繁琐,使用springboot简化配置再搭配通用mapper简直不要太方便,话不多说,直接上代码. 首先是pom文件,直接去sprin ...
- springboot学习笔记:9.springboot+mybatis+通用mapper+多数据源
本文承接上一篇文章:springboot学习笔记:8. springboot+druid+mysql+mybatis+通用mapper+pagehelper+mybatis-generator+fre ...
随机推荐
- Linux内核参数详解
所谓Linux服务器内核参数优化(适合Apache.Nginx.Squid等多种web应用,特殊的业务有可能需要做略微调整),主要是指在Linux系统中针对业务服务应用而进行的系统内核参数调整,优化并 ...
- canal使用入坑,亲测 !!!!
原来用windows本地运行,在本地模拟客户端和服务端,鼓捣了一天都没运行成功...最后放弃了,改用 windows的客户端+ubuntu的服务端(客户端程序运行在window,canal监听运行在U ...
- redis连接池(JedisPool)资源归还及timeout详解
转载. https://blog.csdn.net/yaomingyang/article/details/79043019 一.连接池资源类详解都在注释上 package redis.v1.clie ...
- spring的exception
Springmvc的对于异常类进行统一处理的方法 一.局部异常统一处理 当异常出现时,将抛给异常处理方法,异常处理发放接收到异常数据,进行处理,统一到异常页面 @ExceptionHandler:通过 ...
- CORS解决跨域问题(403问题)
1.什么是跨域问题? 跨域问题是浏览器对于ajax请求的一种安全限制:一个页面发起的ajax请求,只能是用当前页同域名同端口的路径,这能有效的阻止跨站攻击. 2.跨域问题出现的条件: 1.跨域问题是a ...
- AtCoder-arc060 (题解)
A - 高橋君とカード / Tak and Cards (DP) 题目链接 题目大意: 有 \(n\) 个数字,要求取出一些数字,使得它们的平均数恰好为 \(x\) ,问有几种取法. 大致思路: 只要 ...
- Django-08-admin
1. 介绍 admin是django强大功能之一,它能共从数据库中读取数据,呈现在页面中,进行管理.默认情况下,它的功能已经非常强大,如果你不需要复杂的功能,它已经够用,但是有时候,一些特殊的功能还需 ...
- 【实战经验】--Xilinx--IPcore--PLL生成
用途: PLL用于产生自己想要的时钟,可以倍频有可以分频,通常倍频. 生成: 1.打开ISE—— Project —— New source,选择IP(CORE Generator & Arc ...
- 【Linux】Ubuntu替换阿里源
--------------------------------------------------------- 参考文章:https://www.jianshu.com/p/97c35d569aa ...
- Bash速查表
例 #!/usr/bin/env bash NAME="John" echo "Hello $NAME!" 变量 NAME="John" e ...