IDEA mybatisplus(增删查改)(前后端分离)

---------------后台代码---------------
pom.xml

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>cn.cxyxmg</groupId>
  <artifactId>mybatisplus</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <name>mybatisplus Maven Webapp</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>

  <dependencies>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>5.1.8.RELEASE</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>5.1.8.RELEASE</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>5.1.8.RELEASE</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.springframework/spring-aspects -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aspects</artifactId>
      <version>5.1.8.RELEASE</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis-spring</artifactId>
      <version>2.0.1</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.16</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-test</artifactId>
      <version>5.1.8.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>compile</scope>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.18.8</version>
      <scope>provided</scope>
    </dependency>

    <dependency>
      <groupId>com.sun.jna</groupId>
      <artifactId>jna</artifactId>
      <version>3.0.9</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>fastjson</artifactId>
      <version>1.2.58</version>
    </dependency>

    <dependency>
      <groupId>com.baomidou</groupId>
      <artifactId>mybatis-plus</artifactId>
      <version>3.1.2</version>
    </dependency>

    <!-- 添加 代码生成器 依赖 -->
    <dependency>
      <groupId>com.baomidou</groupId>
      <artifactId>mybatis-plus-generator</artifactId>
      <version>3.1.2</version>
    </dependency>
    <!-- 添加 模板引擎 依赖 -->
    <dependency>
      <groupId>org.apache.velocity</groupId>
      <artifactId>velocity-engine-core</artifactId>
      <version>2.1</version>
    </dependency>

    <dependency>
      <groupId>com.zaxxer</groupId>
      <artifactId>HikariCP</artifactId>
      <version>3.3.1</version>
    </dependency>
  </dependencies>

  <build>
    <finalName>mybatisplus</finalName>
    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
      <plugins>
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
        <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.22.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.2.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
      </plugins>
    </pluginManagement>
    <resources>
      <!--编译之后包含xml-->
      <resource>
        <directory>src/main/java</directory>
        <includes>
          <include>**/*.xml</include>
        </includes>
        <filtering>true</filtering>
      </resource>
    </resources>
  </build>
</project>

UserMapper.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="cn.cxyxmg.mybatisplus.system.mapper.UserMapper">

</mapper>

UserMapper接口

package cn.cxyxmg.mybatisplus.system.mapper;

import cn.cxyxmg.mybatisplus.system.entity.User;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author cxyxmg
 * @since 2019-07-19
 */
public interface UserMapper extends BaseMapper<User> {

}

IUserService服务类

package cn.cxyxmg.mybatisplus.system.service;

import cn.cxyxmg.mybatisplus.system.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author cxyxmg
 * @since 2019-07-19
 */
public interface IUserService extends IService<User> {

}

UserServiceImpl服务实现类

package cn.cxyxmg.mybatisplus.system.service.impl;

import cn.cxyxmg.mybatisplus.system.entity.User;
import cn.cxyxmg.mybatisplus.system.mapper.UserMapper;
import cn.cxyxmg.mybatisplus.system.service.IUserService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;

/**
 * <p>
 *  服务实现类
 * </p>
 *
 * @author cxyxmg
 * @since 2019-07-19
 */
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IUserService {

}

User实体类

package cn.cxyxmg.mybatisplus.system.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;
import java.time.LocalDate;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;

import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * <p>
 *
 * </p>
 *
 * @author cxyxmg
 * @since 2019-07-19
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class User implements Serializable {

    private static final long serialVersionUID=1L;

    /**
     * id
     */
    @TableId(value = "userID", type = IdType.AUTO)
    private Integer userID;

    /**
     * 用户名称
     */
    @TableField("userName")
    private String userName;

    /**
     * 姓名
     */
    @TableField("userMC")
    private String userMC;

    /**
     * 密码
     */
    private String password;

    /**
     * 性别
     */
    private String sex;

    /**
     * 年龄
     */
    private String age;

    /**
     * 邮箱
     */
    private String mail;

    /**
     * 出生日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd") //接收页面传来的时间格式
    @JSONField(format = "yyyy-MM-dd")//显示在页面(注解只影响对应下面的一个字段)
    private LocalDate birthdate;

    /**
     * 注册时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime creationTime;

    /**
     * 删除标记
     */
    @TableLogic // 逻辑删除注解
    private Integer delFlag;
}

Controller

package cn.cxyxmg.mybatisplus.system.controller;


import cn.cxyxmg.mybatisplus.system.entity.User;
import cn.cxyxmg.mybatisplus.system.service.IUserService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;
import cn.cxyxmg.mybatisplus.common.base.BaseController;

import java.time.format.DateTimeFormatter;
/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author cxyxmg
 * @since 2019-07-19
 */
@RestController
@RequestMapping("/system/user")
public class UserController extends BaseController {

    @Autowired
    private IUserService userService;

    /**
     * 模糊查询
     * @param user
     * @param currentPage
     * @param pageSize
     * @return
     */
    @RequestMapping("/list")
    public IPage<User> list(User user, Integer currentPage, Integer pageSize){
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
        queryWrapper.lambda().orderByDesc(User::getUserID);
        if (StringUtils.isNoneBlank(user.getUserName())) {
            queryWrapper.lambda().like(User::getUserName, user.getUserName());
        }
        DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        if (user.getBirthdate() != null) {
            queryWrapper.lambda().eq(User::getBirthdate, user.getBirthdate());
        }
        IPage<User> page = userService.page(new Page<>(currentPage, pageSize),queryWrapper);
        return page;
    }
    /**
     * 新增查询用户名是否存在
     * @param userName
     * @return
     */
    @RequestMapping("/selectUserName")
    public Boolean selectUserName(String userName){
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
        queryWrapper.lambda().eq(User::getUserName,userName);
        User user = this.userService.getOne(queryWrapper);
        if (user == null){
            return true;
        }
        return false;
    }
    /**
     * 新增保存
     * @param user
     * @return
     */
    @RequestMapping("/save")
    public Boolean save(User user){
        user.setDelFlag(0);
        boolean integer = userService.save(user);
        if (!"".equals(integer)){
            return true;
        }
        return false;
    }

    /**
     * 修改查询id回填数据
     * @param userID
     * @return
     */
    @GetMapping("/getById/{userID}")
    public User getById (@PathVariable("userID") Integer userID) { // 只能id查询
        User user = this.userService.getById(userID);
        return user;
    }

    /**
     * 修改保存(根据id修改)
     * @param user
     * @return
     */
    @RequestMapping("/updateUser")
    public Boolean updateUser(User user){
        boolean update = userService.updateById(user);
        if (!"".equals(update)){
            return true;
        }
        return false;
    }

    /**
     * 删除
     * @param userID
     * @return
     */
    @RequestMapping("/deleteUser")
    public Boolean deleteUser( Integer userID){
        boolean detele = userService.removeById(userID);
        if (!"".equals(detele)){
            return true;
        }
        return false;
    }
}
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值