springboot整合通用Mapper入门

springboot整合通用Mapper入门

概述

通用 Mapper 是一个用于简化 MyBatis 操作的开发框架。它通过提供通用的 CRUD(创建、读取、更新、删除)方法,减少了开发者需要编写的重复代码。通用 Mapper 的一个著名的实现是 MyBatis Generator(MyBatis 代码生成器)。

查看这个接口的源码 他继承了很多接口 这些接口就已经帮助我们实现了增删改查

@RegisterMapper
public interface Mapper<T> extends BaseMapper<T>, ExampleMapper<T>, RowBoundsMapper<T>, Marker {
}
@RegisterMapper
public interface BaseMapper<T> extends BaseSelectMapper<T>, BaseInsertMapper<T>, BaseUpdateMapper<T>, BaseDeleteMapper<T> {
}
@RegisterMapper  这是查 可以看到继承了很多
public interface BaseSelectMapper<T> extends SelectOneMapper<T>, SelectMapper<T>, SelectAllMapper<T>, SelectCountMapper<T>, SelectByPrimaryKeyMapper<T>, ExistsWithPrimaryKeyMapper<T> {
}

第一步导入依赖

    <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId><scope>provided</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.18</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.28</version></dependency><!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-jdbc --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId><version>3.0.6</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.33</version></dependency><!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter --><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>3.0.2</version></dependency><dependency><groupId>tk.mybatis</groupId><artifactId>mapper-spring-boot-starter</artifactId><version>2.1.5</version></dependency></dependencies>

第二步配置数据源和mybaits

server:port: 80
logging:level:com.example.springbootdemo1: debugorg.springframework: info
spring:datasource:url: jdbc:mysql://localhost:3306/db2username: 1111password: a118driver-class-name: com.mysql.jdbc.Driver
mybatis:type-aliases-package: com.example.springbootdemo1configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

第三步 编写一个实体类

@Data
@Table(name = "user")
//根据数据库表自动映射
public class user {@Id//主键回填  主键一般都是自增的 当自增的时候自动回填到id上面
//    @KeySql(useGeneratedKeys = true)private String sno;@Column//如果符合驼峰规则 user_name --> userName 并且实体类变量和数据库变量一致可以不用这个注解private String name;private int point ;
}

第四步 编写mapper接口继承通用mapper

import tk.mybatis.mapper.common.Mapper;public interface userMapper extends Mapper<user> {
}

第五步 在springboot启动类那里加注解通用mapper扫描

@SpringBootApplication
@MapperScan("com.example.springbootdemo1.mapper")
public class Springbootdemo1Application {public static void main(String[] args) {SpringApplication.run(Springbootdemo1Application.class, args);}}

第六步 编写服务类

@Service
public class userService {@Autowiredprivate userMapper userMapper1;@Transactionalpublic user queryById(String id){return userMapper1.selectByPrimaryKey(id);根据主键查询}
}

第七步 测试

    @Autowiredprivate userService userService;@RequestMapping("/hello/{id}")public user hello1 (@PathVariable String id){return userService.queryById(id);}
}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/265653.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python基于ModBusTCP服务端的业务实现特定的client

python实现ModBusTCP协议的client是一件简单的事情&#xff0c;只要通过pymodbus、pyModbusTCP等模块都可以实现&#xff0c;本文采用pymodbus。但要基于ModBusTCP服务端的业务实现特定的client&#xff0c;那得看看服务端是否复杂。前面系列文章&#xff0c;我们学习了对服务端…

推荐几款常用Web自动化测试神器!

1、介绍 Web自动化测试在保证质量、提升效率、软件开发加速迭代上起到关键作用&#xff0c;它已经成为现代软件测试中不可或缺的一部分&#xff0c;今天给大家介绍推荐几款常用的Web自动化测试工具。 2、常用测试工具 常用的Web自动化测试工具包括&#xff1a; Selenium&am…

什么是双电机打包机?

我们都知道有的机器可能不只有一个电机&#xff0c;像我们公司最新生产的打包机&#xff0c;双电机打包机就是有两个电机&#xff0c;一个是退带电机&#xff0c;一个是进带电机&#xff0c;两个电机的好处就是更能提高包装速度&#xff0c;而且还能减少故障录&#xff0c;双电…

风控之Android设备指纹技术

标识性参数——Android ID、IMEI、OAID非标识性参数 非标识性参数——手机运营商 1 设备指纹 简单来讲&#xff0c;设备指纹是指用于标识出该设备的设备特征。可以是单一设备特征&#xff0c;也可以是多种设备特征的组合&#xff0c;以方便风控系统对设备的唯一性进行识别。…

图解python | 元组

1.Python元组 Python的元组与列表类似&#xff0c;不同之处在于元组的元素不能修改。 元组使用小括号&#xff0c;列表使用方括号。 元组创建很简单&#xff0c;只需要在括号中添加元素&#xff0c;并使用逗号隔开即可。 python 复制代码 tup1 (ByteDance, ShowMeAI, 199…

E4990A 阻抗分析仪,20 Hz 至 10/20/30/50/120 MHz

01 E4990A 阻抗分析仪 20 Hz 至 10/20/30/50/120 MHz 产品综述&#xff1a; E4990A 阻抗分析仪具有 20 Hz 至 120 MHz 的频率范围&#xff0c;可在宽阻抗范围内提供出色的 0.045%&#xff08;典型值&#xff09;基本准确度&#xff0c;并内置 40 V 直流偏置源&#xff0c;适…

空中消防员:无人机森林防火应用全面升级

森林是生态系统的重要组成部分&#xff0c;也是人类得以生存的关键。我国森林面积广大&#xff0c;存在火灾频发的困境。提升森林火灾防控能力是维护生态平衡、保护资源和保障人民生命安全的必要步骤。随着无人机技术的发展&#xff0c;其在无人机森林防火中的应用为传统巡查工…

租房小程序源码开发中的5大注意事项

在租房小程序源码开发过程中&#xff0c;有许多关键的注意事项需要开发者和团队特别留意。作为该领域的专家&#xff0c;我将分享5大重要事项&#xff0c;以确保你的租房小程序源码开发顺利进行。 1. 确保代码可靠性和安全性 租房小程序源码的可靠性和安全性是开发过程中最重…

2024年天津农学院专升本专业课网上报名确认时间的通知

天津农学院2024年高职升本科专业课考试报名的通知 一、专业课考试报名时间及办法 1、网上报名 考生请于2023年12月18日9点至12月21日24点&#xff08;退役大学生士兵考生无须参加此次报名&#xff09;登陆报名系统http://gzsb.tjau.edu.cn&#xff0c;填写报名信息&#xff0…

centos7上安装mysql5.7

1 下载mysql5.7网址 下载后缀名为“.tar.gz”的压缩包 连接虚拟机后 输入&#xff1a; rz 找到你下载的压缩包 2 解压缩 tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz将减压后的文件移动到/usr/local文件夹下并重命名为mysql mv mysql-5.7.26-linux-glibc2.12-x8…

少儿编程考级:激发孩子逻辑思维能力的关键

在当今信息化时代&#xff0c;少儿编程已经成为孩子们不可或缺的一项技能。而少儿编程考级&#xff0c;则是检验孩子们在这一技能上所取得的成就的重要途径。少儿编程考级不仅能够激发孩子们的逻辑思维能力&#xff0c;还能够提高他们的动手能力和创造力。6547网将详细介绍少儿…

在Ascend昇腾硬件用npu加速paddleLite版本ocr(nnadapter)

在Ascend昇腾硬件用npu加速paddleLite版本ocr&#xff08;nnadapter&#xff09; 参考文档* nnadapter参考文档地址* 华为昇腾 NPU参考文档地址* PaddleLite的CAPI参考文档 一.确保cpu版本运行正常二.编译Ascend上npu加速库三.跑通npu加速版本Demo1.Demo下载地址2.参考手册网址…