配置

  • pom配置
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.3.1.tmp</version>
</dependency>
  • MapperScan配置
    在主类上添加@MapperScan("com.mapper")注释
@SpringBootApplication
@MapperScan("com.mapper")
public class MybatisPlusApplication {
    
    public static void main(String[] args) {
        SpringApplication.run(MybatisPlusApplication.class, args);
    }
    
}
  • 项目配置
mybatis-plus:
  mapper-locations: classpath:/mapper/*Mapper.xml

实体类

  • User.java
@Data
@TableName("p_user")
public class User {
    @TableId(type = IdType.AUTO, value = "u_id")
    private Long id;
    private String userName;
    private String password;
    private Integer age;
}

Mapper接口

public interface UserMapper extends BaseMapper<User> {
}

controller

  • 注入mapper
    @Autowired
    UserMapper mapper;

  • mapper.insert(user)
    //增
    @RequestMapping("/insertUser")
    public Integer insertUser(User user) {
        return mapper.insert(user);
    }

  • mapper.delete(queryWrapper)
    //删
    @RequestMapping("/deleteUserByAge")
    public Integer delete(Integer age) {
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
        queryWrapper
                .eq("age", age);
        int delete = mapper.delete(queryWrapper);//删除的数量
        System.out.println("delete return count = " + delete);
        return delete;
    }

  • mapper.update(user, userUpdateWrapper)
    //改
    @RequestMapping("/updateUser")
    public Integer update(String userName, String psw) {
        User user = new User();
        user.setPassword(psw);

        UpdateWrapper<User> userUpdateWrapper = new UpdateWrapper<>();
        userUpdateWrapper
                .eq("user_name", userName);

        Integer update = mapper.update(user, userUpdateWrapper);

        return update;
    }
    • selectOne
      name是唯一的,所以使用selectOne
    //查
    @RequestMapping("/getUserByName")
    public User getUserByName(String userName) {
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
        queryWrapper
                .eq("user_name", userName);
    
        User user = mapper.selectOne(queryWrapper);
        return user;
    }
    
    • selectList
      age不唯一,所以使用selectList
    @RequestMapping("/getUserByAge")
    public List<User> getUserByAge(Integer age) {
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
        queryWrapper
                .eq("age", age);
    
        List<User> users = mapper.selectList(queryWrapper);
        return users;
    }
    
    • selectCount
      查询数目
    @RequestMapping("/getCountByAge")
    public Integer getCountByAge(Integer age) {
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
        queryWrapper
                .eq("age", age);
    
        Integer count = mapper.selectCount(queryWrapper);
        return count;
    }
    
    • selectMaps
    @RequestMapping("/getMaps")
    public List<Map<String, Object>> selectMaps() {
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
    
        List<Map<String, Object>> maps = mapper.selectMaps(queryWrapper);
        return maps;
    }
    
    • selectPage
      查询第几页(5条一页)
    @RequestMapping("/getPage")
    public List<User> selectPage(Integer page) {
        Page<User> p = new Page<>(page, 5);
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
    
        IPage<User> userIPage = mapper.selectPage(p, queryWrapper);
        return userIPage.getRecords();//返回List<User>
    }
    

QueryWrapper参考

rfvdfv.png


hhhhh