Springboot整合mypatis-plus的常用场景:怎删改查,分页等使用

一些常用的操作,这里基本全都包含,下面是整理出来的各种方法,发夹可以按顺序自己写一遍,如果有不懂的我还有资源文件供大家下载:包含项目/sql/项目直接启动即可,就可以使用,里面记录的注释都很清楚,不懂也可以留言。Springboot整合mypatis-plus源码.rar

pom.xml依赖:
<!--SpringBoot启动依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <!--mybatis-plus相关依赖-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.2.0</version>
        </dependency>
        <!--lombok依赖-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
配置文件:
#访问端口号
server.port=8081

#mybatis链接数据库的四个参数:
#数据库驱动
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#数据库url
spring.datasource.url=jdbc:mysql://rm-wz90k10mz1a6s5x52po.mysql.rds.aliyuncs.com:3306/xinglei_data?characterEncoding=utf8&useSSL=false
#数据库用户名
spring.datasource.username=xinglei_data
#数据库密码
spring.datasource.password=Xl199411

#mybatis xml文件的加载地址
# 用来扫描mapper.xml文件   如果mapper.xml在java文件下必须要写要不扫描不到xml文件,如果卸载resources下则可以省略
#mybatis-plus.mapper-locations=classpath:com/xl/boot01/mapper/*Mapper.xml

#配置mybatis的别名
#mybatis.type-aliases-package=com.xl.boot01.entity

#打印sql
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
Controller:
/**
     * 新增一条数据
     * @param userInfo
     * @return
     */
    @PostMapping("insertUserInfo")
    public String insertUserInfo(@RequestBody UserInfo userInfo){
        int i = userInfoService.insertUserInfo(userInfo);
        if(i>0){
            return "新增成功条";
        }else{
            return "新增失败";
        }
    }

    /**
     * 更具多条件删除多条数据
     * @param userInfo
     * @return
     */
    @DeleteMapping("deletesByParam")
    public String deletesByParam(@RequestBody UserInfo userInfo){
        int i = userInfoService.deletesByParam(userInfo);
        if(i>0){
            return "删除成功"+i+"条";
        }else{
            return "删除失败";
        }
    }

    /**
     * 根据id批量删除多条数据
     * @param id
     * @return
     */
    @DeleteMapping("deletesByArrayListId")
    public String deletesByArrayListId(@RequestBody List<Integer> id){
        int i = userInfoService.deletesByArrayListId(id);
        if(i>0){
            return "删除成功"+i+"条";
        }else{
            return "删除失败";
        }
    }

    /**
     * 根据id删除一条数据
     * @param id
     * @return
     */
    @DeleteMapping("deleteById/{id}")
    public String deleteById(@PathVariable int id){
        int i = userInfoService.deleteById(id);
        if(i>0){
            return "删除成功";
        }else{
            return "删除失败";
        }
    }

    /**
     * 根据id修改其他信息
     * @param userInfo
     * @return
     */
    @PutMapping("updateById")
    public String updateById(@RequestBody UserInfo userInfo){
        int i = userInfoService.updateById(userInfo);
        if(i>0){
            return "修改成功";
        }else{
            return "修改失败";
        }
    }

    /**
     * 根据性别和年龄修改电话
     * @param userInfo
     * @return
     */
    @PutMapping("updateByParam")
    public String updateByParam(@RequestBody UserInfo userInfo){
        int i = userInfoService.updateByParam(userInfo);
        return "已成功修改"+i+"条数据";
    }

    /**
     * 查询所有信息
     * 以及sex性别条件和userName用户姓名的like条件
     * @param userInfo
     * @return
     */
    @PostMapping("/queryAll")
    public List<UserInfo> queryList(@RequestBody UserInfo userInfo){
        return userInfoService.queryList(userInfo);
    }

    /**
     * 根据id查询一条
     * @param id
     * @return
     */
    @GetMapping("/queryById/{id}")
    public UserInfo queryById(@PathVariable int id ){
        UserInfo userInfo = userInfoService.queryById(id);
        return userInfo;
    }

    /**
     * 多条件查询
     * @param userInfo
     * @return
     */
    @PostMapping("queryByparam")
    public List<UserInfo> queryByparam(@RequestBody UserInfo userInfo){
        List<UserInfo> userInfos = userInfoService.queryByparam(userInfo);
        return userInfos;
    }

    /**
     * 分页查询
     * @param userInfoDto
     * @return
     */
    @PostMapping("querPage")
    public IPage<UserInfo> querPage(@RequestBody UserInfoDto userInfoDto){
        IPage<UserInfo> userInfoIPage = userInfoService.queryPage(userInfoDto);
        return userInfoIPage;
    }

    /**
     *自定义sql分页查询
     * @param userInfoDto
     * @return
     */
    @PostMapping("queryListByParamPage")
    public IPage<UserInfo> queryListByParamPage(@RequestBody UserInfoDto userInfoDto) {
        IPage<UserInfo> userInfoIPage = userInfoService.queryListByParamPage(userInfoDto);
        return userInfoIPage;
    }

    /**
     * 自定义sql分页查询关联查询
     * @param userInfoDto
     * @return
     */
    @PostMapping("queryUserInfoandUserAdderssInfo")
    public IPage<UserInfoOrUserAdderssInfoVO> queryUserInfoandUserAdderssInfo(@RequestBody UserInfoDto userInfoDto){
       return userInfoService.queryUserInfoandUserAdderssInfo(userInfoDto);
    }
Service接口:
 /**
     * 新增一条数据
     * @param userInfo
     * @return
     */
    int insertUserInfo(UserInfo userInfo);

    /**
     *
     * 根据id删除一条数据
     * @param id
     * @return
     */
    int deleteById(int id);

    /**
     * 批量删除
     * @param id
     * @return
     */
    int deletesByArrayListId(List<Integer> id);

    /**
     * 条件删除
     * @param userInfo
     * @return
     */
    int deletesByParam(UserInfo userInfo);

    /**
     * 更具id修改一条数据
     * @param userInfo
     * @return
     */
    int updateById(UserInfo userInfo);

    /**
     * 根据多个条件修改一条数据
     * @param userInfo
     * @return
     */
    int updateByParam(UserInfo userInfo);

    /**
     * mybatis
     * 查询全部
     * @return
     */
    List<UserInfo> queryList(UserInfo userInfo);

    /**
     * 根据主键查询一条
     * @param id
     * @return
     */
    UserInfo queryById(int id);

    /**
     * 多条件查询
     * @param userinfo
     * @return
     */
    List<UserInfo> queryByparam(UserInfo userinfo);

    /**
     * 分页查询
     * @param userInfoDto
     * @return
     */
    IPage<UserInfo> queryPage(UserInfoDto userInfoDto);

    /**
     * 自定义sql分页查询
     * @param userInfoDto
     * @param userInfoDto
     * @return
     */
    IPage<UserInfo> queryListByParamPage(UserInfoDto userInfoDto);

    /**
     * 自定义sql分页查询关联查询
     * @param userInfoDto
     * @return
     */
    IPage<UserInfoOrUserAdderssInfoVO> queryUserInfoandUserAdderssInfo(UserInfoDto userInfoDto);
ServiceImpl实现类:
 /**
     * 新增
     */
    //插入一条数据 mybatis-plus方法
    @Override
    public int insertUserInfo(UserInfo userInfo) {
        int i = userInfoMapper.insert(userInfo);
        return i;
    }

    /**
     * 删除
     */
    //根据id删除一条数据 mybatis-plus方法
    @Override
    public int deleteById(int id) {
        int i = userInfoMapper.deleteById(id);
        return i;
    }

     //批量删除多条数据 mybatis-plus方法
    @Override
    public int deletesByArrayListId(List<Integer> id) {
        int i = userInfoMapper.deleteBatchIds(id);
        return i;
    }

    //条件删除一条数据 mybatis-plus方法
    @Override
    public int deletesByParam(UserInfo userInfo) {
        Map map=new HashMap<>();
        if(!userInfo.getSex().isEmpty()&&userInfo.getSex()!=""){
            map.put("SEX",userInfo.getSex());
        }
        if(!userInfo.getAge().isEmpty()&&userInfo.getAge()!=""){
            map.put("AGE",userInfo.getAge());
        }
        int i = userInfoMapper.deleteByMap(map);
        return i;
    }

    /**
     * 修改
     */
    //根据id修改一条 mybatis-plus方法
    @Override
    public int updateById(UserInfo userInfo) {
        int i = userInfoMapper.updateById(userInfo);
        return i;
    }

    //多条件修改 mybatis-plus方法
    @Override
    public int updateByParam(UserInfo userInfo) {
        // UpdateWrapper<UserInfo>   where条件设置
        UpdateWrapper updateWrapper=new UpdateWrapper();
        if(!userInfo.getSex().isEmpty()&&userInfo.getSex()!=""){
            updateWrapper.eq("SEX",userInfo.getSex());
        }
        if(!userInfo.getAge().isEmpty()&&userInfo.getAge()!=""){
            updateWrapper.eq("AGE",userInfo.getAge());
        }
        //修改的字段
        UserInfo upDateUserInfo=new UserInfo();
        upDateUserInfo.setPhone(userInfo.getPhone());
        int i = userInfoMapper.update(upDateUserInfo, updateWrapper);
        return i;
    }

    /**
     * 查询
     */
    //查询全部  mybatis-plus方法
    @Override
    public List<UserInfo> queryList(UserInfo userInfo) {
            //QueryWrapper对象有很多使用的方法,这里只演示eq和like
            QueryWrapper<UserInfo> queryWrapper = new QueryWrapper<>();
            if (!userInfo.getSex().isEmpty()&&userInfo.getSex()!=""){
                queryWrapper.eq("SEX",userInfo.getSex());
            }
            if (!userInfo.getUserName().isEmpty()&&userInfo.getUserName()!=""){
                queryWrapper.like("USER_NAME",userInfo.getUserName());
            }
            //如果sex和userName属性都为null穿空即可
        return userInfoMapper.selectList(queryWrapper);
    }

    //根据id查询一条 mybatis-plus方法
    @Override
    public UserInfo queryById(int id) {
        UserInfo userInfo = userInfoMapper.selectById(id);
        return userInfo;
    }

    //多条件查询 mybatis-plus方法
    @Override
    public List<UserInfo> queryByparam(UserInfo userInfo) {
        Map map=new HashMap<>();
        if(!userInfo.getUserId().isEmpty()&&userInfo.getUserId()!=""){
            map.put("USER_ID",userInfo.getUserId());
        }
        if(!userInfo.getUserName().isEmpty()&&userInfo.getUserName()!=""){
            map.put("USER_NAME",userInfo.getUserName());
        }
        if(!userInfo.getSex().isEmpty()&&userInfo.getSex()!=""){
            map.put("SEX",userInfo.getSex());
        }
        if(!userInfo.getAge().isEmpty()&&userInfo.getAge()!=""){
            map.put("AGE",userInfo.getAge());
        }
        if(!userInfo.getPhone().isEmpty()&&userInfo.getPhone()!=""){
            map.put("PHONE",userInfo.getPhone());
        }
        List list = userInfoMapper.selectByMap(map);
        return list;
    }

    /**
     * 分页查询 mybatis-plus方法
     * @param userInfoDto
     * @return
     */
    @Override
    public IPage<UserInfo> queryPage(UserInfoDto userInfoDto) {
        //分页配置
        Page<UserInfo> page = new Page<>(userInfoDto.getPage(), userInfoDto.getSize());

        //添加条件查询可把下面代码放开
        /*QueryWrapper<UserInfo> queryWrapper = new QueryWrapper<>();
        if (!userInfoDto.getSex().isEmpty()&&userInfoDto.getSex()!=""){
            queryWrapper.eq("SEX",userInfoDto.getSex());
        }
        if (!userInfoDto.getUserName().isEmpty()&&userInfoDto.getUserName()!=""){
            queryWrapper.like("USER_NAME",userInfoDto.getUserName());
        }*/
        IPage<UserInfo> userInfoIPage = userInfoMapper.selectPage(page, null);
        return userInfoIPage;
    }

    /**
     * 自定义sql分页查询 mybatis-plus方法
     * @param userInfoDto
     * @return
     */
    @Override
    public IPage<UserInfo> queryListByParamPage(UserInfoDto userInfoDto) {

        //分页配置
        Page<UserInfo> page = new Page<>(userInfoDto.getPage(), userInfoDto.getSize());

        //where条件设置
        QueryWrapper<UserInfo> wrapper = new QueryWrapper();
        if (!userInfoDto.getSex().isEmpty()&&userInfoDto.getSex()!=""){
            wrapper.eq("SEX",userInfoDto.getSex());
        }
        if (!userInfoDto.getUserName().isEmpty()&&userInfoDto.getUserName()!=""){
            wrapper.like("USER_NAME",userInfoDto.getUserName());
        }
        return userInfoMapper.queryListByParamPage(page,wrapper);
    }

    /**
     * 自定义sql分页查询关联查询
     * @param userInfoDto
     * @return
     */
    @Override
    public IPage<UserInfoOrUserAdderssInfoVO> queryUserInfoandUserAdderssInfo(UserInfoDto userInfoDto) {
            IPage<UserInfoOrUserAdderssInfoVO> userInfoOrUserAdderssInfoVOS = userInfoMapper.queryUserInfoandUserAdderssInfo(new Page<>(userInfoDto.getPage(), userInfoDto.getSize()));
        return userInfoOrUserAdderssInfoVOS;
    }
mapper接口:
	//自定义sql分页查询
    IPage<UserInfo> queryListByParamPage(IPage<UserInfo> page, @Param(Constants.WRAPPER) Wrapper<UserInfo> queryWrapper);

    //自定义sql分页查询关联查询
    IPage<UserInfoOrUserAdderssInfoVO> queryUserInfoandUserAdderssInfo(IPage<UserInfoDto> page);
mapper.xml:
<select id="queryListByParamPage" resultMap="BaseResultMap">
        select * from user_info ${ew.customSqlSegment}
  </select>

  <select id="queryUserInfoandUserAdderssInfo" resultType="com.xl.boot01.vo.UserInfoOrUserAdderssInfoVO">
    SELECT USER_INFO.*,USER_ADDERSS_INFO.* FROM USER_INFO,USER_ADDERSS_INFO WHERE USER_INFO.ADDERSS=USER_ADDERSS_INFO.ADDERSS_ID
</select>
技术的升级迭代只是为了淘汰那些不学习的人!!!
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值