当前位置: 首页 > ai >正文

MybatisPlus

MyBatis-Plus官网:MyBatis-Plus 🚀 为简化开发而生

 

MyBatis是红色小鸟,MyBatis-Plus是蓝色小鸟

  • MyBatisPlus特点:

    • MyBatisPlus是无侵入的,导入MyBatisPlus的依赖之后,仍然可以编写MyBatis的格式操作mapper层。

    • MybatisPlus适合单表的CRUD,如果sql语句很复杂或者涉及到多表,还是要使用MyBatis

 1. 快速入门

1.1 导入MybatisPlus包

<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.3</version>
</dependency>

1.2 自定义Mapper继承BaseMapper

注意指定范型User和数据库的user表

// BaseMapper<>的范型指定为User
public interface UserMapper extends BaseMapper<User> {}

1.3 配置application.yml

spring:datasource:url: jdbc:mysql://192.168.31.20:3306/mp?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghaidriver-class-name: com.mysql.cj.jdbc.Driverusername: mysql8_gtcpassword: gtc123
logging:level:com.itheima: debugpattern:dateformat: HH:mm:ss
#mybatis:
#  mapper-locations: classpath*:mapper/*.xml
mybatis-plus:type-aliases-package: com.itehima.mp.domain.po # 别名扫描包mapper-locations: "classpath*:/mapper/**/*.xml"configuration:map-underscore-to-camel-case: truecache-enabled: false # 是否开启二级缓存global-config:db-config:id-type: assign_idupdate-strategy: not_null

1.4 配置启动类

虽然你没有在 Mapper 接口上加 @Mapper,但你在启动类上用了  @MapperScan,它会自动扫描并注册所有的 Mapper 接口。

package com.itheima.mp;import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@MapperScan("com.itheima.mp.mapper") // mapper扫描包
@SpringBootApplication
public class MpDemoApplication {public static void main(String[] args) {SpringApplication.run(MpDemoApplication.class, args);}}

1.5 使用CRUD

 2. 常用注解

如果不符合约定,需要用到对应注解:

  3. 常见配置

  4. 条件构造器

MyBatisPlus支持各种复杂的where条件。wrapper就是条件。

5. 自定义SQL

6. Service接口

http://www.xdnf.cn/news/13284.html

相关文章:

  • python整数处理 2022年信息素养大赛复赛/决赛真题 小学组/初中组 python编程挑战赛 真题详细解析
  • c++中类的继承
  • 使用Meshlab处理非流形边的问题
  • ruoyi框架分页插件失效
  • PG库创建自增ID
  • 【无标题】装箱问题的拓扑动力学解法:几何凝聚与量子坍缩模型
  • 7.3.折半查找(二分查找)
  • Playwright:高效处理浏览器兼容性的自动化测试利器
  • BERT情感分类
  • net中Serilog 使用json配置输出日志
  • linux arm系统烧录
  • 铭豹扩展坞 USB转网口 突然无法识别解决方法
  • 参数量计算举例
  • Text GRAD使用场景的案例分析
  • 深度剖析 iPaaS 数据蜂巢:企业数字化集成的关键力量
  • 电子商务平台的安全防护
  • window7 wpf程序打不开问题排查及处理
  • 豆包全新视频生成模型、视觉深度思考模型发布
  • SecureCRT 配色方案 VBScript 脚本
  • SSM框架整合
  • GO 语言中的flag包--易懂解释
  • 编译原理实验 之 TINY 解释测试目标代码
  • 【多智能体】受木偶戏启发实现多智能体协作编排
  • 研发效能利器之驭码CodeRider
  • JAVA语言的学习(Day_1)
  • 2025盘古石杯决赛【计算机取证】
  • 【docker n8n】本地台式机A部署后,其他电脑B、C如何访问n8n?
  • 第二十二章 USB 全速设备接口(USB)
  • P4 QT项目----串口助手(4.2)
  • 力扣HOT100之堆:215. 数组中的第K个最大元素