都用默认的方法,这样只用声明不用自己写复杂的sql,例如常见的增删查改
public interface UserService extends IService<User> {
}
boolean saveOrUpdate(T entity);
default boolean updateById(T entity) {
return SqlHelper.retBool(this.getBaseMapper().updateById(entity));
}
package com.zzl.mystoreroom.controller;
import com.zzl.mystoreroom.entity.User;
import com.zzl.mystoreroom.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* <p>
* 前端控制器
* </p>
*
* @author wms
* @since 2024-01-28
*/
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/list")
public List<User> list(){
return userService.list();
}
@PostMapping("/save")
public boolean save(@RequestBody User user){
return userService.save(user);
}
@PostMapping("/mod")
public boolean mod(@RequestBody User user){
return userService.updateById(user);
}
@PostMapping("/saveormod")
public boolean saveOrMod(@RequestBody User user){
return userService.saveOrUpdate(user);
}
@GetMapping("/delete")
public boolean delete(Integer id){
return userService.removeById(id);
}
@PostMapping("/listP")
public List<User> listP(@RequestBody User user) {
LambdaQueryWrapper<User> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.like(User::getName,user.getName());
return userService.list(lambdaQueryWrapper);
}
}
模糊查询
先创建这个模糊查询类,调用对象的方法like,好像就是包含这个字符串就算
然后把数据库的getname和参数的getname结果比较???
LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.like(User::getName,user.getName());
试试eq,就是等值查询,相当于=
LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(User::getName,user.getName());
这个可以参考其他
用默认方法,代码越简单越好