Mybatis-Plus快速增删改查操作与依赖配置
需积分: 0 63 浏览量
更新于2024-06-17
收藏 3.96MB PDF 举报
Mybatis-Plus是一种基于MyBatis的简化ORM(对象关系映射)框架,它极大地提升了Java开发者在Spring Boot项目中进行数据持久化操作的效率。本文将重点介绍如何使用Mybatis-Plus进行基础的增删改查操作,以及一些关键配置和特性。
首先,确保在Maven或Gradle项目中正确添加Mybatis-Plus的启动器依赖。使用最新的版本,例如:
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>最新版本</version>
</dependency>
```
在Spring配置中,你需要设置数据库连接信息,如URL、驱动、用户名和密码,同时启用Mybatis-Plus的相关配置。以下是一个示例:
```yaml
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/数据库名字?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: 123456
logging:
level:
com.itxh: debug
pattern:
dateformat: HH:mm:ss
mybatis-plus:
type-aliases-package: com.itxh.mp.domain.po
global-config:
db-config:
id-type: auto
logic-delete-field: deleted # 配置逻辑删除字段,用于标记已删除的数据
configuration:
default-enum-type-handler: com.baomidou.mybatisplus.core.handlers.MybatisEnumTypeHandler
```
在上述配置中,`type-aliases-package`用于指定POJO(Plain Old Java Object,普通Java对象)映射到数据库表的包名;`logic-delete-field`定义了逻辑删除标识字段,当值为1时,表示数据已被删除;`default-enum-type-handler`则用于处理枚举类型的转换。
接下来是关于Mybatis-Plus的基本增删改查操作:
1. 创建实体类:首先,根据数据库表结构生成对应的实体类,Mybatis-Plus提供了工具类如`TableInfo`来辅助生成。
2. 插入数据(Insert):通过`@Entity`注解的类实例调用`insert()`方法来保存对象,如`User user = new User(); user.setName("张三"); user.insert();`。
3. 查询数据(Select):可以通过表名、主键或分页查询,Mybatis-Plus提供了链式API,如`UserMapper.selectOneById(id)`,`UserMapper.selectList(page, limit)`(page和limit用于分页查询)。
4. 更新数据(Update):使用`update()`方法更新对象,如`user.setName("李四"); user.update();`。注意,对于有外键关联的更新,可能需要先删除关联记录,然后更新主记录。
5. 删除数据(Delete):通过`deleteById(id)`删除单条记录,或者`delete()`方法删除符合条件的记录。对于逻辑删除,可以使用`deleteByIdAndStatus(id, 1)`,其中1表示逻辑删除。
6. 批量操作(Batch Operation):Mybatis-Plus支持批量插入、更新和删除,只需提供一个包含多个实体的对象列表即可。
Mybatis-Plus还提供了很多其他功能,比如自定义SQL、动态SQL、缓存控制等,大大简化了数据库操作的代码量。它降低了开发者的维护成本,提高了开发效率,是现代Spring Boot项目中常用的ORM工具。
2019-04-24 上传
2023-06-02 上传
2024-04-12 上传
2024-04-18 上传
2024-04-12 上传
小辉code
- 粉丝: 128
- 资源: 1
最新资源
- 全国江河水系图层shp文件包下载
- 点云二值化测试数据集的详细解读
- JDiskCat:跨平台开源磁盘目录工具
- 加密FS模块:实现动态文件加密的Node.js包
- 宠物小精灵记忆配对游戏:强化你的命名记忆
- React入门教程:创建React应用与脚本使用指南
- Linux和Unix文件标记解决方案:贝岭的matlab代码
- Unity射击游戏UI套件:支持C#与多种屏幕布局
- MapboxGL Draw自定义模式:高效切割多边形方法
- C语言课程设计:计算机程序编辑语言的应用与优势
- 吴恩达课程手写实现Python优化器和网络模型
- PFT_2019项目:ft_printf测试器的新版测试规范
- MySQL数据库备份Shell脚本使用指南
- Ohbug扩展实现屏幕录像功能
- Ember CLI 插件:ember-cli-i18n-lazy-lookup 实现高效国际化
- Wireshark网络调试工具:中文支持的网口发包与分析