第一步:pom文件带入依赖
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.5.1</version> </dependency>
第二步:创建实体对象
@TableName("leave_request") @Data @AllArgsConstructor @NoArgsConstructor public class LeaveRequest { @TableId private int id; private String requestUuid; private String title; private Integer leaveDay; private LocalDate leaveStartTime; private LocalDate leaveEndTime; private String requestorName; private String teamLeader; private String sourcingManager; private String DbsBoss; private String NCSTeamLeader; private String status; }
需要注意的是@TableName("leave_request"),这个东西对应你数据库里面的表
第三步:@Mapper和@MapperScan必须二选一
@SpringBootApplication(exclude= SecurityAutoConfiguration.class) @MapperScan("com.example.demo.Mappers") public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
@MapperScan("com.example.demo.Mappers")里面的value对应你第四步的文件路径
第四步:创建实体类对应的repository,增删查改的语句就可以在这里面进行填写
@Repository public interface LeaveRequestMapper extends BaseMapper<LeaveRequest> { LeaveRequest findByRequestUuid(String requestUuid); }
可以通过命名的方式不用写sql语句即可实现查询。下面是基本的查询方式:
/**
* 普通查询
*/
@Test
public void selectById() {
UserInfo userInfo = userInfoMapper.selectById(123);
System.out.println(userInfo);
}
/**
* 批量查询
*/
@Test
public void selectByIds() {
List<Long> ids = Arrays.asList(123L,124L,125L);
List<UserInfo> userInfo = userInfoMapper.selectBatchIds(ids);
System.out.println(userInfo);
}
/**
* 名字包含娟并且年龄小于30
*/
@Test
public void selectByWrapper() {
QueryWrapper<UserInfo> queryWrapper = new QueryWrapper<UserInfo>();
queryWrapper.like("username","娟").lt("age",30);
List<UserInfo> userInfoList = userInfoMapper.selectList(queryWrapper);
userInfoList.forEach(System.out::println);
}
/**
* 名字包含娟并且年龄大于等于20且小于等于40并且email不为空
*/
@Test
public void selectByWrapper2() {
QueryWrapper<UserInfo> queryWr