mybatis plus crud
时间: 2023-11-11 15:06:23 浏览: 102
Mybatis Plus 是 Mybatis 的增强工具,在 Mybatis 的基础上进行了扩展,提供了更加便捷的 CRUD 操作方式。使用 Mybatis Plus 可以大大减少开发人员的工作量,提高开发效率。
Mybatis Plus 的 CRUD 操作主要包括以下几个方面:
1. 插入数据:使用 insert 方法插入数据,可以通过实体类或者 Map 对象传递参数。
2. 更新数据:使用 update 方法更新数据,可以通过实体类或者 Map 对象传递参数。
3. 删除数据:使用 delete 方法删除数据,可以通过实体类或者 Map 对象传递参数。
4. 查询数据:使用 select 方法查询数据,可以通过实体类或者 Map 对象传递参数,支持分页查询、条件查询等操作。
Mybatis Plus 还提供了一些其他的功能,比如自动生成代码、乐观锁、多租户等。
相关问题
MyBatis plus crud的操作步骤,分页怎样处理?
使用MyBatis Plus进行CRUD操作的步骤如下:
1. 配置MyBatis Plus:在项目的配置文件(通常是application.properties或application.yaml)中添加MyBatis Plus的配置信息,包括数据库连接信息和MyBatis Plus特定的配置。
2. 创建实体类:创建与数据库表对应的实体类,并使用注解(如@Table、@Id、@Column等)指定与表字段的映射关系。
3. 创建Mapper接口:创建一个继承自BaseMapper的Mapper接口,并使用注解(如@Mapper)标识该接口为MyBatis的Mapper。
4. 执行CRUD操作:在需要进行CRUD操作的地方,通过注入Mapper接口的实例,调用相应的方法进行操作。例如,调用insert方法插入数据、调用selectById方法查询数据、调用update方法更新数据等。
分页处理可以通过MyBatis Plus提供的Page对象来实现。具体步骤如下:
1. 在Mapper接口中添加分页查询方法:在Mapper接口中定义一个带有Page参数的查询方法,并使用注解(如@Select)指定对应的SQL查询语句。
2. 在Service层进行分页查询:在Service层中调用Mapper接口中定义的分页查询方法,并传入Page对象和查询条件,将查询结果返回。
3. 在Controller层返回分页结果:在Controller层中将Service层返回的分页结果封装成统一格式(如JSON),并返回给前端。
需要注意的是,分页查询时需要设置分页参数(如当前页码、每页数据量),并在查询方法中使用MyBatis Plus提供的分页插件进行分页查询操作。
mybatis plus 搭建 CRUD
### 使用 MyBatis Plus 实现 CRUD 操作
#### 1. 添加依赖项
为了在 Spring Boot 项目中使用 MyBatis Plus,需先引入必要的 Maven 或 Gradle 依赖。
对于 Maven 用户:
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>最新版本号</version>
</dependency>
```
Gradle 用户则应添加如下配置:
```groovy
implementation 'com.baomidou:mybatis-plus-boot-starter:最新版本号'
```
#### 2. 配置数据源
编辑 `application.yml` 文件来设置数据库连接参数:
```yaml
spring:
datasource:
url: jdbc:mysql://localhost:3306/your_database?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
username: root
password: your_password
driver-class-name: com.mysql.cj.jdbc.Driver
```
#### 3. 创建实体类
定义与表结构对应的 Java 类,并利用 Lombok 和 MyBatis Plus 注解减少样板代码。例如,创建一个名为 `User.java` 的文件[^5]:
```java
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@Data
@TableName("user")
public class User {
@TableId
private Long id;
private String name;
private Integer age;
}
```
#### 4. 编写 Mapper 接口
继承 BaseMapper<T> 并指定泛型为之前定义好的实体类即可获得基本的增删改查能力。比如编写 `UserMapper.java` 如下所示[^1]:
```java
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@Mapper
public interface UserMapper extends BaseMapper<User> {}
```
此时无需再手动书写 SQL 映射语句,因为这些基础操作已经被内置支持了。
#### 5. 测试 CRUD 功能
最后一步是在测试用例里验证上述功能是否正常运作。这里给出一段简单的单元测试案例作为参考[^2]:
```java
@SpringBootTest
class UserServiceTest {
@Autowired
private UserService userService;
@Test
void testInsert() {
User user = new User();
user.setName("张三");
user.setAge(20);
boolean result = userService.save(user); // 插入新记录
System.out.println(result ? "保存成功" : "保存失败");
}
@Test
void testUpdateById() {
User user = new User();
user.setId(1L);
user.setName("李四");
user.setAge(22);
boolean result = userService.updateById(user); // 更新特定ID的数据
System.out.println(result ? "更新成功" : "更新失败");
}
@Test
void testDeleteById(){
boolean result=userService.removeById(1L);//删除id为1的数据
System.out.println(result?"删除成功":"删除失败");
}
@Test
void testSelectList(){
List<User> userList=userService.list(); //查询全部列表
userList.forEach(System.out::println);
}
}
```
以上即完成了基于 MyBatis Plus 构建简单 CRUD 应用程序的过程概述[^4]。
阅读全文