springboot+mybatis-plus增删改查分页

springboot增删改查分页

UserController

package com.yyc.springboot.controller;

import com.yyc.springboot.entity.User;
import com.yyc.springboot.mapper.UserMapper;
import com.yyc.springboot.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@RestController
@RequestMapping("/user")
public class UserController {

    @Resource
    private UserMapper userMapper;

    @Resource
    private UserService userService;




    // 查询所有数据
    @GetMapping
    public List<User> getUser() {
        return userMapper.findAll();
    }


    // 新增和修改
    @PostMapping
    public Integer save(@RequestBody User user) {
        // 新增或者更新
        return userService.save(user);
    }

    // 通过id查询
    @GetMapping("/{id}")
    public User findById(@PathVariable("id") Long id) { return userMapper.findById(id); }

    // 通过id删除
    @DeleteMapping("/{id}")
    public Integer delete(@PathVariable Integer id) { return userMapper.deleteById(id);  }

    // 分页查询接口
    @GetMapping("/page")
    public  Map<String,Object> findPage(@RequestParam Integer pageNum,
                                        @RequestParam Integer pageSize,
                                        @RequestParam String  empName) {
             List<User> data = userMapper.selectPage(pageNum,pageSize,empName);
             Integer total = userMapper.selectTotal(empName);
             Map<String, Object> res = new HashMap<>();
             res.put("data", data);
             res.put("total", total);
             return res;
        }

}


User

package com.yyc.springboot.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@TableName(value = "sys_emp_roster")
@Data

public class User {

    @TableId(type = IdType.ASSIGN_ID)
    private Integer id;
    private Integer userId;
    private Long orgId;
    private String empName;
    private String rosterName;
    private String empNo;
    private String title;
    private Integer gender;
    private Integer level;
    private Integer status;
}

UserMapper

package com.yyc.springboot.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yyc.springboot.entity.User;
import org.apache.ibatis.annotations.*;

import java.util.List;

@Mapper
public interface UserMapper extends BaseMapper <User> {


    //@Select("SELECT * from  sys_emp_roster")
    List<User> findAll();

    //@Insert("INSERT into sys_emp_roster( user_id,org_id,emp_name,roster_name,emp_no,gender,title,level) VALUES (#{userId},#{orgId},#{empName},#{rosterName},#{empNo},#{gender},#{title},#{level})")
    int insert(User user);

    int update(User user);

    //@Select(" select * from sys_emp_roster where id = #{id}")
    User findById(long id);

    //@Delete("delete from sys_emp_roster where id = #{id}")
    Integer deleteById(@Param("id") Integer id);

    //@Select("SELECT * from sys_emp_roster where  emp_name like concat ('%' ,#{empName},'%') limit #{pageNum} ,#{pageSize}")
    List<User> selectPage(Integer pageNum, Integer pageSize,String empName);

    //@Select("select  count(*) from sys_emp_roster where emp_name like concat ('%' ,#{empName} ,'%') ")
    Integer selectTotal(String empName);


}

User.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yyc.springboot.mapper.UserMapper">


    <select id="findAll" parameterType="List" resultType="com.yyc.springboot.entity.User">
        select * from sys_emp_roster
    </select>
  <!--增加数据  -->
  <insert id="insert" parameterType="com.yyc.springboot.entity.User" >
      insert into sys_emp_roster
      <trim prefix="(" suffix=")" suffixOverrides=",">
          <if test="userId != null">user_id,</if>
          <if test="orgId != null and orgId!=''">org_id,</if>
          <if test="empName != null">emp_name,</if>
          <if test="rosterName != null">roster_name,</if>
          <if test="empNo != null  ">emp_no,</if>
          <if test="title != null">title,</if>
          <if test="gender != null and gender !=''">gender,</if>
          <if test="level != null and level !=''">level,</if>
          <if test="status != null and status != ''">status,</if>
      </trim>

      value
      <trim prefix="(" suffix=")" suffixOverrides=",">
          <if test="userId != null">#{userId},</if>
          <if test="orgId != null and orgId!=''">#{orgId},</if>
          <if test="empName != null">#{empName},</if>
          <if test="rosterName != null">#{rosterName},</if>
          <if test="empNo != null  ">#{empNo},</if>
          <if test="title != null">#{title},</if>
          <if test="gender != null and gender !=''">#{gender},</if>
          <if test="level != null and level !=''">#{level},</if>
          <if test="status != null and status != ''">#{status},</if>
      </trim>
  </insert>

    <!--修改数据-->
    <update id="update">
        update sys_emp_roster
        <set>
            <if test="userId != null">
                user_id = #{userId},
            </if>
            <if test="orgId != null">
                org_id = #{orgId},
            </if>
            <if test="empName != null">
                emp_name = #{empName},
            </if>
            <if test="rosterName != null">
                roster_name = #{rosterName},
            </if>
            <if test="empNo != null">
                emp_no = #{empNo},
            </if>
            <if test="title != null">
                title = #{title},
            </if>
            <if test="gender != null">
                gender = #{gender},
            </if>
            <if test=" level != null">
                level = #{level},
            </if>
            <if test=" status != null">
                status = #{status}
            </if>

        </set>
        <where>
            id = #{id}
        </where>
    </update>


    <!--通过id查询-->
    <select id="findById" parameterType="long" resultType="com.yyc.springboot.entity.User">
        select * from sys_emp_roster where id = #{id}
    </select>

    <!--删除数据-->
    <delete id="deleteById" parameterType="int">
        delete from sys_emp_roster where id = #{id}
    </delete>

    <!--模糊查询并分页查询-->
    <select id="selectPage"  resultType="com.yyc.springboot.entity.User">
        SELECT * from sys_emp_roster where  emp_name like concat ('%' ,#{empName},'%') limit #{pageNum} ,#{pageSize}
    </select>

    <!--统计查询了几条数据-->
    <select id="selectTotal" resultType="Integer" parameterType="String">
        select  count(*) from sys_emp_roster where emp_name like concat ('%' ,#{empName} ,'%')
    </select>

</mapper>

UserService

package com.yyc.springboot.service;

import com.yyc.springboot.entity.User;
import com.yyc.springboot.mapper.UserMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;

@Service
public class UserService {

    @Resource
    private UserMapper userMapper;

    public int save(User user) {
        if (user.getId() == null) {  // user没有id,则表示是新增
            return userMapper.insert(user);
        } else { // 否则为更新
            return userMapper.update(user);
        }
    }

}

配置文件

server.port=8000

spring.datasource.url=jdbc:mysql://本地地址:3306/hctest?serverTimezone=GMT%2B8&characterEncoding=utf-8&useSSL=false
spring.datasource.username=数据库名
spring.datasource.password=密码
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
mybatis.mapper-locations =classpath:mapper/*.xml  #扫描所有mybatis的xml文件
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl


springboot继承MyBatis-Plus3增删改查分页及模糊查询

UserController

package com.yyc.springboot.controller;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yyc.springboot.entity.User;
import com.yyc.springboot.mapper.UserMapper;
import com.yyc.springboot.service.UserService;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@RestController
@RequestMapping("/user")
public class UserController {


    @Resource
    private UserService userService;



    // 查询所有数据
    @GetMapping
    public List<User> findAll(){
        return userService.list();
    }

    // 新增和修改
    @PostMapping
    public boolean save(@RequestBody User user) {
        // 新增或者更新
        return userService.saveUser(user);
    }

   /* // 通过id查询
    @GetMapping("/{id}")
    public boolean findById(@PathVariable("id") Long id) { return userService.removeById(id); }*/

    // 通过id删除
    @DeleteMapping("/{id}")
    public boolean delete(@PathVariable Integer id) { return userService.removeById(id);  }


    @GetMapping("/page")
    public IPage<User> findPage(@RequestParam Integer pageNum,
                                @RequestParam Integer pageSize,
                                @RequestParam(defaultValue = "") String username,
                                @RequestParam(defaultValue = "") String nickname,
                                @RequestParam(defaultValue = "") String address) {
        IPage<User> page = new Page<>(pageNum,pageSize);
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
        if (!"".equals(username)) {
            queryWrapper.like("username", username);
        }
        if (!"".equals(nickname)) {
            queryWrapper.like("nickname", nickname);
        }
        if (!"".equals(address)) {
            queryWrapper.like("address", address);
        }
        return userService.page(page,queryWrapper);
    }


}

    // 分页查询接口
  /*  @GetMapping("/page")
    public Map<String, Object> findPage(@RequestParam Integer pageNum,
                                        @RequestParam Integer pageSize,
                                        @RequestParam String username) {
        pageNum = (pageNum - 1) * pageSize;
        username = "%" + username + "%";
        List<User> data = userMapper.selectPage(pageNum, pageSize, username);
        Integer total = userMapper.selectTotal(username);
        Map<String, Object> res = new HashMap<>();
        res.put("data", data);
        res.put("total", total);
        return res;
    }


}*/


User

package com.yyc.springboot.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@TableName(value = "sys_user")
@Data

public class User {

    @TableId(type = IdType.ASSIGN_ID)
    private Integer id;
    private String username;
    private String password;
    private String nickname;
    private String email;
    private String phone;
    private String address;
    private String createTime;
    private String avatarUrl;
    private String role;
}

UserMapper

package com.yyc.springboot.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yyc.springboot.entity.User;
import org.apache.ibatis.annotations.*;

import java.util.List;


public interface UserMapper extends BaseMapper <User> {


}

User.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yyc.springboot.mapper.UserMapper">


</mapper>

UserService

package com.yyc.springboot.service;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yyc.springboot.entity.User;
import com.yyc.springboot.mapper.UserMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;

@Service
public class UserService extends ServiceImpl<UserMapper,User> {


    public boolean saveUser(User user) {
        return saveOrUpdate(user);
    }

//    @Resource
//    private UserMapper userMapper;
//
//    public int save(User user) {
//        if (user.getId() == null) {  // user没有id,则表示是新增
//            return userMapper.insert(user);
//        } else { // 否则为更新
//            return userMapper.update(user);
//        }
//    }

}

配置文件

server.port=9090

spring.datasource.url=jdbc:mysql://本地地址:3306/hctest?serverTimezone=GMT%2B8&characterEncoding=utf-8&useSSL=false
spring.datasource.username=数据库名
spring.datasource.password=密码
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
mybatis.mapper-locations =classpath:mapper/*.xml  #扫描所有mybatis的xml文件
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值