MyBatis——user
创建一张user表
sql语句如下:
-- auto-generated definition
create table user
(
id bigint auto_increment comment '用户主键'
primary key,
name varchar(20) null comment '用户名字',
age int null comment '用户年龄',
version int default 1 null comment '乐观锁',
deleted int default 0 null comment '逻辑删除',
create_time datetime null comment '创建时间',
update_time datetime null comment '更新时间'
)
charset = utf8mb4;
java代码
package com.example.mybatislearningday01.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.example.mybatislearningday01.util.Info;
import com.example.mybatislearningday01.entity.User;
import com.example.mybatislearningday01.service.UserService;
import com.example.mybatislearningday01.util.Result;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @author ksming
* @since 2022-07-02
*/
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
UserService userService;
/**
* 单条插入
*
* @param user
* @return
*/
@RequestMapping("/add")
public Result add(User user) {
userService.save(user);
return new Result<>(user);
}
/**
* 批量插入
*
* @param userList
* @return
*/
@RequestMapping("/saveBatch")
public Result addBatch(List<User> userList) {
userService.saveBatch(userList);
return new Result<>();
}
/**
* 根据用户名更新用户信息
*
* @param user
* @return
*/
@RequestMapping("/updateByName")
public Result updateByName(User user) {
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("name", user.getName());
boolean update = userService.update(user, queryWrapper);
if (update) {
return new Result<>();
} else {
return new Result<>(201, "success");
}
}
/**
* 根据id更新用户信息
*
* @param user
* @return
*/
@RequestMapping("/updateById")
public String updateById(User user) {
userService.updateById(user);
return "success";
}
/**
* 根据用户id判断是增加还是更新
* @param user
* @return
*/
@RequestMapping("/saveOrUpdateById")
public String saveOrUpdateById(User user) {
QueryWrapper queryWrapper=new QueryWrapper<>();
queryWrapper.eq("id",user.getId());
userService.saveOrUpdate(user);
return "success";
}
/**
* 根据用户名判断是增加还是更新
* @param user
* @return
*/
@RequestMapping("/saveOrUpdateByName")
public String saveOrUpdateByName(User user) {
QueryWrapper queryWrapper=new QueryWrapper<>();
queryWrapper.eq("name",user.getName());
userService.saveOrUpdate(user);
return "success";
}
/**
* 根据用户名删除用户
*
* @param name
* @return
*/
@RequestMapping("/deleteByName")
public String deleteByName(String name) {
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("name", name);
userService.remove(queryWrapper);
return "success";
}
/**
* 根据用户id删除用户
*
* @param user
* @return
*/
@RequestMapping("/deleteByUserId")
public String deleteByUserId(User user) {
userService.removeById(user);
return "success";
}
/**
* 根据用户id查询用户信息
*
* @param user
* @return
*/
@RequestMapping("/selectByUserId")
public String selectByUserId(User user) {
QueryWrapper qw = new QueryWrapper<>();
qw.eq("id", user.getId());
User flag = userService.getOne(qw);
if (flag == null) {
return "fail";
} else {
return "success";
}
}
/**
* 根据用户名查询用户信息
*
* @param user
* @return
*/
@RequestMapping("/selectByUserName")
public Result selectByUserName(User user) {
QueryWrapper qw = new QueryWrapper<>();
qw.eq("name", user.getName());
User user1=userService.getOne(qw);
return new Result<>(user1);
}
/**
* 关键字模糊查询
*
* @param info
* @return
*/
@RequestMapping("/selectByKeywords")
public String selectByKeywords(Info info) {
QueryWrapper queryWrapper = new QueryWrapper<>();
if (StringUtils.isNotBlank(info.getKeyword())) {
queryWrapper.like("name", info.getKeyword());
queryWrapper.or();
queryWrapper.like("age", info.getKeyword());
}
List flag = userService.list(queryWrapper);
if (flag == null) {
return "fail";
} else {
return "success";
}
}
}