mybatisPlus基本用法
1.pom.xml
<!-- mybatisPlus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>2.3</version>
</dependency>
2.配置文件
3.实体类
@Data
@TableName("student")
public class Student {
@TableId(value = "sid", type = IdType.AUTO)
private Integer sid;
@TableField("name")
private String name;
private Integer age;
}
4.mapper
public interface StudentMapper extends BaseMapper<Student> {
}
4.1 常用方法
- int insert(T entity);
- int deleteById(Serializable id);
- int updateById(@Param(Constants.ENTITY) T entity);
- T selectById(Serializable id);
5.service
public interface StudentService extends IService<Student> {
}
5.1 常用方法
- boolean save(T entity);
- boolean removeById(Serializable id);
- boolean update(Wrapper
updateWrapper); - T getById(Serializable id);
- List
list(Wrapper queryWrapper);
6.分页
4.测试类
@SpringBootTest
@RunWith(SpringRunner.class)
public class TestStudent {
@Resource
private StudentMapper studentMapper;
@Test
public void test(){
List<Student> list = studentMapper.selectList(null);
list.forEach(System.out::println);
}
}
5.条件构造器
5.1 LambdaQueryWrapper
基于 Lambda 表达式的查询条件构造器,它通过 Lambda 表达式来引用实体类的属性,从而避免了硬编码字段名
- 带聚合函数
LambdaQueryWrapper<TSaleAutosaleorderPo> queryWrapper = new QueryWrapper<TSaleAutosaleorderPo>()
.select("pay_type", "count(*) as count")
.lambda()
.ne(TSaleAutosaleorderPo::getStatus, AutoSaleOrderStatusEnum.CANCELED.getKey())
- 基本使用
LambdaQueryWrapper<TSaleAutosaleorderPo> queryWrapper = new LambdaQueryWrapper<TSaleAutosaleorderPo>()
.ne(TSaleAutosaleorderPo::getStatus, AutoSaleOrderStatusEnum.CANCELED.getKey())
.eq(TSaleAutosaleorderPo::getAssignVehicleStatus, AssignVehicleStatusEnum.WPC.getKey())
.select(TSaleAutosaleorderPo::getId)
- 比较相关
gt(User::getAge, 18) >18
ge(User::getAge, 18) >=18
lt(User::getAge, 18) <18
le(User::getAge, 18) <=18
between(User::getAge, 18, 30) BETWEEN 18 AND 30
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律