mybatisplus-plus
时间: 2023-09-27 21:04:35 浏览: 37
MyBatis-Plus是一个MyBatis的增强工具,它在MyBatis的基础上提供了一些额外的功能,旨在简化开发过程并提高效率。通过添加MyBatis-Plus的依赖(mybatis-plus-boot-starter),你可以在项目中使用MyBatis-Plus的功能。MyBatis-Plus的版本号是3.3.1.tmp。
相关问题
mybatisplus-plus用法
MyBatis-Plus 是 MyBatis 的增强工具,在 MyBatis 的基础上,提供了许多实用的功能,简化了 MyBatis 的使用,让开发更加高效。
MyBatis-Plus-Plus 是对 MyBatis-Plus 的再次封装,提供了更加简洁易用的 API,让开发者更加便捷地使用 MyBatis-Plus。
下面是 MyBatis-Plus-Plus 的使用示例:
1. 引入 MyBatis-Plus 和 MyBatis-Plus-Plus 的依赖:
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>3.4.3</version>
</dependency>
<dependency>
<groupId>com.github.beyondlov1</groupId>
<artifactId>mybatisplus-plus</artifactId>
<version>1.0.0</version>
</dependency>
```
2. 创建实体类:
```java
@Data
@TableName("user")
public class User {
@TableId(type = IdType.AUTO)
private Long id; // 主键id
private String name; // 名称
private Integer age; // 年龄
private String email; // 邮箱
}
```
3. 创建 Mapper 接口:
```java
public interface UserMapperPlus extends MybatisPlusMapper<User> {
}
```
4. 使用 MyBatis-Plus-Plus 的 API:
```java
@Autowired
private UserMapperPlus userMapper;
// 插入数据
User user = new User();
user.setName("test");
user.setAge(18);
user.setEmail("test@test.com");
userMapper.insert(user);
// 更新数据
user.setName("test1");
userMapper.updateById(user);
// 根据 id 查询数据
User user1 = userMapper.selectById(user.getId());
// 查询所有数据
List<User> userList = userMapper.selectList(null);
// 分页查询数据
Page<User> page = new Page<>(1, 10);
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(User::getName, "test");
userMapper.selectPage(page, queryWrapper);
```
以上就是 MyBatis-Plus-Plus 的简单使用示例,更多使用方法可以参考官方文档。
mybatisplus-plus联合主键
如果你需要在 Mybatis-Plus 中使用联合主键,可以使用 `@TableId` 注解的 `value` 属性来指定多个字段作为联合主键。例如:
```java
@Data
@TableName("user_role")
public class UserRole {
@TableId(value = {"user_id", "role_id"}, type = IdType.INPUT)
private Long userId;
@TableField("role_id")
private Long roleId;
private String remark;
}
```
在上面的示例中,`@TableId` 注解的 `value` 属性指定了 `user_id` 和 `role_id` 两个字段作为联合主键,`type` 属性指定了主键生成策略为手动输入。注意,在使用联合主键时,必须指定主键生成策略为手动输入,否则会出现主键冲突的问题。
如果你需要在 Mybatis-Plus 中执行联合主键的 CRUD 操作,可以通过 `QueryWrapper` 或 `LambdaQueryWrapper` 来构建查询条件,例如:
```java
QueryWrapper<UserRole> wrapper = new QueryWrapper<>();
wrapper.eq("user_id", 1L)
.eq("role_id", 2L);
UserRole userRole = userRoleMapper.selectOne(wrapper);
```
在上面的示例中,使用 `QueryWrapper` 构建了一个查询条件,查询 `user_id` 为 1,`role_id` 为 2 的用户角色记录。你也可以使用 `LambdaQueryWrapper` 来构建查询条件,例如:
```java
LambdaQueryWrapper<UserRole> lambdaWrapper = new LambdaQueryWrapper<>();
lambdaWrapper.eq(UserRole::getUserId, 1L)
.eq(UserRole::getRoleId, 2L);
UserRole userRole = userRoleMapper.selectOne(lambdaWrapper);
```