mybatis-plus使用
时间: 2023-05-31 10:19:09 浏览: 200
你应该知道的这些Mybatis-Plus使用技巧(小结)
### 回答1:
Mybatis-Plus是基于MyBatis的增强工具包,实现了在MyBatis中的增删改查等操作的一系列便捷功能,同时还提供了代码自动生成、性能优化等功能。
使用Mybatis-Plus可以大大简化MyBatis操作的代码量,同时提供了更多的查询方式,例如实现了类似JPA的Lambda表达式查询方式。开发者可以自由选择是否使用Mybatis-Plus中的功能,自由扩展和配置。
使用Mybatis-Plus可以通过引入依赖包并在应用程序中进行简单的配置,就可以轻松地实现复杂的SQL操作。MyBatis-Plus还提供了许多自定义注解,如@TableField、@TableName、@TableId等,使得实体类编写更加方便。
在使用Mybatis-Plus时,首先需要在pom.xml中添加Maven依赖,然后在Mybatis的配置文件中添加Mybatis-Plus的配置。之后,可以通过继承Mybatis-Plus中提供的基础Mapper接口,或通过注解方式实现,方便快捷地进行数据库操作。
总之,Mybatis-Plus提供了一种快速、可靠地开发方式,可以用更少的代码实现更多的功能。但是开发者要注意,使用Mybatis-Plus时需要了解相关的SQL语法和Mybatis的使用方式,才能真正发挥出它的优势。
### 回答2:
Mybatis-Plus是基于Mybatis二次开发的全功能增强库,简化了MyBatis的使用,提高了查询效率。它可以通过简单的配置来增强MyBatis的功能,包括:自动生成Mapper接口和XML文件、动态SQL、逻辑删除、分页插件、性能分析插件等。下面分5个方面简单介绍一下使用Mybatis-plus的注意点:
1. 配置信息
Mybatis-Plus的配置信息写在application.properties(或application.yaml)文件中。列如:
mybatis-plus.mapper-locations=classpath:mapper/*Mapper.xml
mybatis-plus.typeAliasesPackage=com.example.entity
mybatis-plus.global-config.db-config.id-type=auto
详细配置可以查看Mybatis-Plus文档,也可以复制spring boot starter的模板工程。
2. 自动代码生成
Mybatis-Plus提供了自动生成代码的功能,即我们只需提供指定表名,就能自动生成对应的Mapper接口和XML文件。在IDEA中,可以通过Mybatis-Plus插件实现,也可以通过命令行执行。
3. 公共方法
MyBatis-Plus提供了一些实用的公共方法,例如:selectById、selectBatchIds、selectOne、insert、insertAndGetId、updateById、deleteById、deleteBatchIds等方法。可以方便我们操作数据库。
4. 分页插件
Mybatis-Plus提供了分页插件,可以轻松完成分页查询操作,支持多种数据库。只需在查询语句之前添加分页参数即可实现,如:
Page<User> page = new Page<>(1, 10);
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().like(User::getName, "John");
this.userService.page(page, queryWrapper);
5. 高级查询
Mybatis-Plus提供了强大的Wrapper类,可以构建一些高级查询条件,例如:等值条件、模糊查询、多条件组合、子查询等。lambda表达式格式也很清晰,可以快速构建复杂的查询条件。
以上是我关于Mybatis-Plus使用一些注意点的介绍,Mybatis-Plus还拥有其他功能,但这里只是简单的介绍。Mybatis-Plus可以提高开发效率,减少代码量,减轻程序员的工作负担,大大提高了开发效率。如果你还没有使用过Mybatis-Plus,建议你试一下,相信你会有很好的体验!
### 回答3:
MyBatis-Plus 是基于 MyBatis 的快速开发框架,可以极大地提高开发效率。它不仅仅提供了基本的增删改查方法,还提供了各种查询功能和代码自动生成工具。接下来我将从以下几个方面介绍如何使用 MyBatis-Plus。
一、引入 MyBatis-Plus
首先,在 Maven 或 Gradle 中添加 MyBatis-Plus 的依赖:
Maven:
```
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
```
Gradle:
```
compile 'com.baomidou:mybatis-plus-boot-starter:${mybatis-plus.version}'
```
其中,`${mybatis-plus.version}` 表示 MyBatis-Plus 的版本号。
二、配置 MyBatis-Plus
在 Spring Boot 中,可以在 `application.yml` 文件中配置 MyBatis-Plus:
```
mybatis-plus:
mapper-locations: classpath:/mapper/*.xml
typeAliasesPackage: com.example.entity
```
其中,`mapper-locations` 表示 MyBatis 的 Mapper 文件所在的路径;`typeAliasesPackage` 表示实体类的包路径。
三、使用 MyBatis-Plus 封装的方法
接下来,就可以使用 MyBatis-Plus 封装的方法进行增删改查操作了。例如,查询所有记录:
```java
List<User> userList = userMapper.selectList(null);
```
其中,`userMapper` 是 MyBatis 自动生成的 Mapper 类,`null` 表示查询条件为空。
插入一条记录:
```java
User user = new User();
user.setName("张三");
user.setAge(20);
int result = userMapper.insert(user);
```
更新一条记录:
```java
User user = new User();
user.setId(1L);
user.setName("李四");
int result = userMapper.updateById(user);
```
删除一条记录:
```java
int result = userMapper.deleteById(1L);
```
四、使用 MyBatis-Plus 的查询功能
除了基本的增删改查方法,MyBatis-Plus 还提供了各种查询功能。例如,条件查询:
```java
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(User::getName, "张三");
List<User> userList = userMapper.selectList(queryWrapper);
```
其中,`LambdaQueryWrapper` 是一个用于构建查询条件的类,`eq` 表示精确匹配条件,`User::getName` 表示查询实体类中的 `name` 属性。
分页查询:
```java
Page<User> page = new Page<>(1, 10);
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(User::getName, "张三");
IPage<User> userPage = userMapper.selectPage(page, queryWrapper);
```
其中,`Page` 是分页查询的类,`selectPage` 方法可实现分页查询;`IPage` 是返回的分页结果集。
五、使用 MyBatis-Plus 的代码生成器
MyBatis-Plus 还提供了一个代码生成器,可以根据数据库表结构自动生成实体类、Mapper 类和 Mapper.xml 文件。在 Spring Boot 项目中,我们可以在 `application.yml` 中进行配置:
```
mybatis-plus:
global-config:
db-config:
auto-fill: true
generator:
dataSource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8
username: root
password: root
strategy:
naming: underline_to_camel
include: t_.*
package:
parent: com.example
entity: model
mapper: mapper
service: service
service-impl: service.impl
controller: controller
```
其中,`dataSource` 表示数据库连接信息;`strategy` 表示生成代码的规则,可以根据实际情况进行设置;`package` 表示生成的实体类、Mapper 类等文件的包名。
配置完成后,执行以下命令即可生成代码:
```
Mybatis-Plus/code-generator/CodeGenerator.main()
```
以上就是 MyBatis-Plus 的使用方法。总之,MyBatis-Plus 提供了许多快捷的开发工具,可以极大地提高开发效率,值得我们去了解和使用。
阅读全文