相关内容请参考 Mybatis-Plus文档 项目实例

依赖

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>

application.properties配置

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/mybatisplus?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false&allowPublicKeyRetrieval=true
spring.datasource.username=root
spring.datasource.password=root

启动类添加扫描mapper

@MapperScan("com.it.mybatisplus.Mapper")

image

实体类

@TableName(“实体对应的数据表名”)

@TableId(“主键ID”)

package com.it.mybatisplus.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
/**
* @Author: 羡羡
* @Date: 2022/05/25/09:03
*/
@TableName("user")
public class User {
@TableId
public int id;
public String name;
public int age;
public String email;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public User() {
}
public User(String name, int age, String email) {
this.name = name;
this.age = age;
this.email = email;
}
public User(int id, String name, int age, String email) {
this.id = id;
this.name = name;
this.age = age;
this.email = email;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
", email='" + email + '\'' +
'}';
}
}

Mapper

package com.it.mybatisplus.Mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.it.mybatisplus.entity.User;
import org.apache.ibatis.annotations.Mapper;
/**
* @Author: 羡羡
* @Date: 2022/05/25/09:05
*/
@Mapper
public interface UserMapper extends BaseMapper<User>{
//泛型是对应的实体
}

service

package com.it.mybatisplus.service;
import com.it.mybatisplus.entity.User;
import com.it.mybatisplus.tools.JsonResult;
/**
* @Author: 羡羡
* @Date: 2022/05/25/09:38
*/
public interface UserService {
/**
* 查询所有的数据
* @return
*/
public JsonResult seall();
/**
* 查询指定ID的数据
* @param id
* @return
*/
public JsonResult seonuser(int id);
/**
* 添加一条记录
* @param usr
* @return
*/
public JsonResult addone(User usr);
/**
* 删除一条
* @param id
* @return
*/
public JsonResult delone(int id);

/**
* 修改数据
* @param usr
* @return
*/
public JsonResult upone(User usr);
/**
* 统计所有
* @return
*/
public JsonResult counnumber();
/**
* like查询
* @param name
* @return
*/
public JsonResult likelist(String name);
}

serviceimpl

package com.it.mybatisplus.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.it.mybatisplus.Mapper.UserMapper;
import com.it.mybatisplus.entity.User;
import com.it.mybatisplus.tools.JsonResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @Author: 羡羡
* @Date: 2022/05/25/09:40
*/
@Service
public class UserServiceImpl implements UserService{
@Autowired
UserMapper us;
/**
* 查询所有的数据
* @return
*/
@Override
public JsonResult seall() {
List<User> lis=us.selectList(null);
return new JsonResult(200,"获取成功!",lis);
}
/**
* 查询指定ID的数据
* @param id
* @return
*/
@Override
public JsonResult seonuser(int id) {
User usenti=us.selectById(id);
return new JsonResult(200,"获取成功!",usenti);
}
/**
* 添加一条记录
* @param usr
* @return
*/
@Override
public JsonResult addone(User usr) {
int adsu=us.insert(usr);
if(adsu>0){
return new JsonResult(200,"添加成功!");
}else{
return new JsonResult(500,"添加失败!");
}
}
/**
* 删除一条
* @param id
* @return
*/
@Override
public JsonResult delone(int id) {
int desu=us.deleteById(id);
if(desu>0){
return new JsonResult(200,"删除成功!");
}else{
return new JsonResult(500,"删除失败!");
}
}
/**
* 修改数据
* @param usr
* @return
*/
@Override
public JsonResult upone(User usr) {
int upsu=us.update(usr,null);
if(upsu>0){
return new JsonResult(200,"更新成功!");
}else{
return new JsonResult(500,"更新失败!");
}
}
/**
* 统计数量
* @return
*/
@Override
public JsonResult counnumber() {
int coun= Math.toIntExact(us.selectCount(null));
return new JsonResult(200,"获取成功!",coun);
}
/**
* like查询
* @param name
* @return
*/
@Override
public JsonResult likelist(String name) {
QueryWrapper<User> qu=new QueryWrapper<>();
qu.like("name",name);
List<User> lis=us.selectList(qu);
return new JsonResult(200,"查询成功!",lis);
}
}

控制器

package com.it.mybatisplus.controller;
import com.it.mybatisplus.entity.User;
import com.it.mybatisplus.service.UserService;
import com.it.mybatisplus.tools.JsonResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
/**
* @Author: 羡羡
* @Date: 2022/05/25/09:43
*/
@RestController
public class TestController {
@Autowired
UserService user;
/**
* 返回所有的数据
* @return
*/
@RequestMapping(path = "/index",method = RequestMethod.GET)
public JsonResult test(){
return user.seall();
}
/**
* 通过ID查询指定数据
* @param id ID
* @return
*/
@RequestMapping(path = "/user/{id}",method = RequestMethod.GET)
public JsonResult test2(@PathVariable("id") Integer id){
return user.seonuser(id);
}
/**
* 添加一条记录
* @param usrn
* @return
*/
@RequestMapping(path = "/adduser",method = RequestMethod.POST)
public JsonResult test3(User usrn){
return user.addone(usrn);
}

/**
* 删除一条记录
* @param id
* @return
*/
@RequestMapping(path = "/del/{id}",method = RequestMethod.GET)
public JsonResult test4(@PathVariable("id") Integer id){
return user.delone(id);
}
/**
* 更新数据
* @param usen
* @return
*/
@RequestMapping(path = "/upuser",method = RequestMethod.PUT)
public JsonResult test5(User usen){
return user.upone(usen);
}
/**
* 统计数量
* @return
*/
@RequestMapping(path = "/coun",method = RequestMethod.GET)
public JsonResult test6(){
return user.counnumber();
}
/**
* 模糊查询like
* @param name
* @return
*/
@RequestMapping(path = "/like/{name}",method = RequestMethod.GET)
public JsonResult test7(@PathVariable("name") String name){
return user.likelist(name);
}
}