5.MyBatisPlus学习

发布时间:2026/9/27 9:47:21
5.MyBatisPlus学习 特性无侵入只做增强不做改变引入它不会对现有工程产生影响如丝般顺滑损耗小启动即会自动注入基本 CURD性能基本无损耗直接面向对象操作强大的 CRUD 操作内置通用 Mapper、通用 Service仅仅通过少量配置即可实现单表大部分 CRUD 操作更有强大的条件构造器满足各类使用需求支持 Lambda 形式调用通过 Lambda 表达式方便的编写各类查询条件无需再担心字段写错支持主键自动生成支持多达 4 种主键策略内含分布式唯一 ID 生成器 - Sequence可自由配置完美解决主键问题支持 ActiveRecord 模式支持 ActiveRecord 形式调用实体类只需继承 Model 类即可进行强大的 CRUD 操作支持自定义全局通用操作支持全局通用方法注入 Write once, use anywhere 内置代码生成器采用代码或者 Maven 插件可快速生成 Mapper 、 Model 、 Service 、 Controller 层代码支持模板引擎更有超多自定义配置等您来使用内置分页插件基于 MyBatis 物理分页开发者无需关心具体操作配置好插件之后写分页等同于普通 List 查询分页插件支持多种 数据库支持 MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer 等多种数据库内置性能分析插件可输出 SQL 语句以及其执行时间建议开发测试时启用该功能能快速揪出慢查询内置全局拦截插件提供全表 delete 、 update 操作智能分析阻断也可自定义拦截规则预防误操作支持数据库架构数据库表CREATEDATABASEjava-test/*140100 DEFAULT CHARACTER SET utf8mb4 */;usejava-test;CREATETABLEstudent(idbigint(20)NOTNULLCOMMENT主键IDnamevarchar(30)DEFAULTNULLCOMMENT姓名ageint(11)DEFAULTNULLCOMMENT年龄emailvarchar(50)DEFAULTNULLCOMMENT邮箱PRIMARYKEY(id))ENGINEInnoDBDEFAULTCHARSETutf8;导包dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependencydependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion3.5.1/version/dependencydependencygroupIdcom.mysql/groupIdartifactIdmysql-connector-j/artifactIdscoperuntime/scope/dependency配置server:port:9999spring:# mysql数据源配置datasource:driver-class-name:com.mysql.cj.jdbc.Drivertype:com.zaxxer.hikari.HikariDataSourceurl:jdbc:mysql://localhost:3306/java-testusername:rootpassword:123456# 整合mybatis注意事项驱动类driver-class-namespringboot 2.0(内置jdbc5驱动)驱动类使用:driver-class-name: com.mysql.jdbc.Driverspring boot 2.1及以上(内置jdbc8驱动),驱动类使用:driver-class-name: com.mysql.cj.jdbc.Driver否则运行测试用例的时候会有WARN信息连接地址urlMySQL5.7版本的url:jdbc:mysql://localhost:3306/mybatis_plus?characterEncodingutf-8useSSLfalseMySQL8.0版本的url:jdbc:mysql://localhost:3306/mybatis_plus?serverTimezoneGMT%2B8characterEncodingutf8useSSLfalse否则运行测试用例报告如下错误:java.sql.SQLException: The server time zone value...实体类mybatisplus要求实体类类名和数据库表名一致要求更严格。packagecom.light.mybatisplus.pojo;importlombok.AllArgsConstructor;importlombok.Data;importlombok.NoArgsConstructor;AllArgsConstructorNoArgsConstructorDatapublicclassStudent{privateLongid;privateStringname;privateIntegerage;privateStringemail;}创建Mapper文件StudentMapper.javapackagecom.light.mybatisplus.mapper;importcom.baomidou.mybatisplus.core.mapper.BaseMapper;importcom.light.mybatisplus.pojo.Student;publicinterfaceStudentMapperextendsBaseMapperStudent{}自动扫描mapper包packagecom.light.mybatisplus;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;importorg.mybatis.spring.annotation.MapperScan;SpringBootApplication// ComponentScan(com.light.mybatisplus.mapper) //扫描带 Component/Service/Repository 的类MapperScan(com.light.mybatisplus.mapper)// 扫描指定包下的接口生成 MyBatis 的动态代理并注册为 Spring BeanpublicclassMybatisPlusApplication{publicstaticvoidmain(String[]args){SpringApplication.run(MybatisPlusApplication.class,args);}}测试packagecom.light.mybatisplus;importcom.light.mybatisplus.mapper.StudentMapper;importcom.light.mybatisplus.pojo.Student;importorg.junit.jupiter.api.Test;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.boot.test.context.SpringBootTest;importjava.util.List;SpringBootTestpublicclassMybatisPlusTest{Autowired//依赖注入privateStudentMapperstudentMapper;TestpublicvoidgetStudentList(){ListStudentstudentsstudentMapper.selectList(null);System.out.println(students);}}

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询