java MybatisPlus的使用
时间: 2024-10-12 18:02:47 浏览: 53
MybatisPlus是基于MyBatis的轻量级持久层框架,它简化了数据访问操作,通过注解使得映射XML文件变得不再复杂。以下是MybatisPlus的基本使用步骤:
1. **添加依赖**:在项目的pom.xml或者build.gradle文件中添加MybatisPlus的依赖。
2. **启用插件**:在启动类上加上`@MapperScan("com.example.mapper")` 注解,指定mapper接口所在的包路径。
3. **创建实体类**:实体类需要继承自`BaseEntity`,并设置主键属性为`@TableId`注解。
4. **CRUD操作**:利用Repository接口(通常是驼峰命名)进行增删改查操作,如`insert()`、`selectOneById()`等,MybatisPlus会自动完成SQL生成和结果处理。
5. **分页查询**:使用`Page`和`QueryWrapper`进行分页查询,例如`List<User> list = userMapper.selectPage(new Page<>(page, limit), new QueryWrapper<User>())`。
6. **动态条件查询**:`QueryWrapper`提供了丰富的链式API,可以方便地构建复杂的查询条件。
7. **关联查询**:支持一对一、一对多和多对多的关系映射,可通过`@TableField(exist = false)`注解避免懒加载。
相关问题
java mybatisplus 使用QueryWrapper 查询表中某一个字段
假设你要查询表中字段名为`field_name`,字段值为`field_value`的数据,可以使用以下代码:
```java
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.additional.query.impl.QueryChainWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class MyController {
@Autowired
private MyMapper myMapper;
@GetMapping("/query/{fieldValue}")
public Object query(@PathVariable("fieldValue") String fieldValue) {
QueryWrapper<MyEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("field_name", fieldValue);
return myMapper.selectList(queryWrapper);
}
}
```
其中,`MyEntity`为对应的实体类,`MyMapper`为对应的Mapper接口。使用`queryWrapper.eq("field_name", fieldValue)`可以构建查询条件,其中`field_name`为表中字段名,`fieldValue`为要查询的字段值。使用`myMapper.selectList(queryWrapper)`可以执行查询操作。
java mybatisplus
MybatisPlus是一个基于Mybatis的增强工具,它简化了Mybatis的开发流程,提供了许多实用的功能,例如自动生成代码、分页插件、性能分析插件等等。以下是两个Java MybatisPlus的例子:
1.使用MybatisPlus自动生成代码
```java
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private Long id;
private String name;
private String password;
private Integer age;
private String tel;
}
```
2.使用MybatisPlus分页插件
```java
/**
* 测试分页插件
*/
@Test
public void testPagePlugin() {
Page<User> page = new Page<>(2, 2);
userMapper.selectPage(page, null);
System.out.println("记录:" + page.getRecords());
System.out.println("总页数" + page.getPages());
System.out.println("总记录数" + page.getTotal());
System.out.println("是否有上一页" + page.hasPrevious());
System.out.println("是否有下一页" + page.hasNext());
}
```
阅读全文
相关推荐
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)