修改mybatis-plus与service集成,增加动态查询

master
hanrenchun 1 year ago
parent 1461c87064
commit 0d84f7d0a8

@ -1,45 +1,47 @@
package com.example.mybatisdemo.controller;
import com.example.mybatisdemo.mapper.UserMapper;
import com.example.mybatisdemo.pojo.dto.UserDTO;
import com.example.mybatisdemo.pojo.entity.User;
import com.example.mybatisdemo.pojo.vo.UserVO;
import com.example.mybatisdemo.result.JsonResult;
import com.example.mybatisdemo.service.IUserService;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequiredArgsConstructor
public class UserController {
@Autowired
private IUserService iUserService;
private final IUserService iUserService;
@PostMapping("/addUser")
public JsonResult addUser(@RequestBody UserDTO userDTO) {
return iUserService.insertUser(userDTO);
}
@PostMapping("/updateUser")
public JsonResult updateUser(@RequestBody UserDTO userDTO){
return iUserService.updateUser(userDTO);
@PostMapping("add")
public JsonResult addUser(@RequestBody UserDTO userDTO){
User user = new User();
BeanUtils.copyProperties( userDTO , user);
return (iUserService.save(user))?JsonResult.ok():JsonResult.fail();
}
@PostMapping("/deleteUser")
public JsonResult deleteUser(@RequestBody UserDTO userDTO){
return iUserService.deleteUser(userDTO);
@GetMapping("delete/{id}")
public JsonResult deleteById(@PathVariable Long id){
return (iUserService.removeById(id))?JsonResult.ok():JsonResult.fail();
}
@PostMapping("/selectById")
public JsonResult selectUserById(@RequestBody UserDTO userDTO){
return iUserService.selectUserById(userDTO);
@PostMapping("update")
public JsonResult updateUser(@RequestBody UserDTO userDTO){
User user = new User();
BeanUtils.copyProperties(userDTO,user);
return (iUserService.updateById(user))?JsonResult.ok():JsonResult.fail();
}
@PostMapping("/selectByName")
public JsonResult selectByName(@RequestBody UserDTO userDTO){
return iUserService.selectUserByName(userDTO);
@PostMapping("select")
public JsonResult selectUser(@RequestBody UserDTO userDTO){
List<User> users = iUserService.selectUsers(userDTO.getId(), userDTO.getAge(), userDTO.getName());
return (users!=null && !users.isEmpty())?JsonResult.ok(users):JsonResult.fail();
}
}

@ -6,7 +6,7 @@ import java.io.Serializable;
@Data
public class UserDTO implements Serializable {
private Integer id;
private Long id;
private String name;
private Integer age;

@ -11,7 +11,7 @@ import java.util.Date;
public class User implements Serializable {
@TableId(type = IdType.AUTO)
private Integer id;
private Long id;
private String name;
private Integer age;
private String create_by;

@ -1,14 +0,0 @@
package com.example.mybatisdemo.repository;
import com.example.mybatisdemo.pojo.entity.User;
import com.example.mybatisdemo.pojo.vo.UserVO;
import java.util.List;
public interface IUserRepository {
int addUser(User user);
int deleteUserById(int id);
int updateUser(User user);
User selectById(int id);
List<User> selectByName(String name);
}

@ -1,46 +0,0 @@
package com.example.mybatisdemo.repository;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.example.mybatisdemo.mapper.UserMapper;
import com.example.mybatisdemo.pojo.entity.User;
import com.example.mybatisdemo.pojo.vo.UserVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public class UserRepository implements IUserRepository{
@Autowired
private UserMapper userMapper;
@Override
public int addUser(User user) {
return userMapper.insert(user);
}
@Override
public int deleteUserById(int id) {
return userMapper.deleteById(id);
}
@Override
public int updateUser(User user) {
return userMapper.updateById(user);
}
@Override
public User selectById(int id) {
return userMapper.selectById(id);
}
@Override
public List<User> selectByName(String name) {
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("name", name);
return userMapper.selectList(wrapper);
}
}

@ -1,12 +1,14 @@
package com.example.mybatisdemo.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.mybatisdemo.pojo.dto.UserDTO;
import com.example.mybatisdemo.pojo.entity.User;
import com.example.mybatisdemo.pojo.vo.UserVO;
import com.example.mybatisdemo.result.JsonResult;
public interface IUserService {
JsonResult insertUser(UserDTO userDTO);
JsonResult deleteUser(UserDTO userDTO);
JsonResult updateUser(UserDTO userDTO);
JsonResult selectUserById(UserDTO userDTO);
JsonResult selectUserByName(UserDTO userDTO);
import java.util.List;
public interface IUserService extends IService<User> {
List<User> selectUsers(Long id, Integer age, String name);
}

@ -1,54 +0,0 @@
package com.example.mybatisdemo.service;
import com.example.mybatisdemo.pojo.dto.UserDTO;
import com.example.mybatisdemo.pojo.entity.User;
import com.example.mybatisdemo.repository.IUserRepository;
import com.example.mybatisdemo.result.JsonResult;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserService implements IUserService{
@Autowired
private IUserRepository iUserRepository;
@Override
public JsonResult insertUser(UserDTO userDTO) {
User user = new User();
BeanUtils.copyProperties(userDTO,user);
int count = iUserRepository.addUser(user);
return (count!=0)?JsonResult.ok():JsonResult.fail();
}
@Override
public JsonResult deleteUser(UserDTO userDTO) {
int count = iUserRepository.deleteUserById(userDTO.getId());
return (count!=0)?JsonResult.ok():JsonResult.fail();
}
@Override
public JsonResult updateUser(UserDTO userDTO) {
User user = new User();
BeanUtils.copyProperties(userDTO,user);
int count = iUserRepository.updateUser(user);
return (count!=0)?JsonResult.ok():JsonResult.fail();
}
@Override
public JsonResult selectUserById(UserDTO userDTO) {
User user = iUserRepository.selectById(userDTO.getId());
return (user!=null)?JsonResult.ok(user):JsonResult.fail();
}
@Override
public JsonResult selectUserByName(UserDTO userDTO) {
List<User> users = iUserRepository.selectByName(userDTO.getName());
return (users!=null && !users.isEmpty())?JsonResult.ok(users):JsonResult.fail();
}
}

@ -0,0 +1,27 @@
package com.example.mybatisdemo.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.mybatisdemo.mapper.UserMapper;
import com.example.mybatisdemo.pojo.entity.User;
import com.example.mybatisdemo.service.IUserService;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper,User> implements IUserService {
@Override
public List<User> selectUsers(Long id, Integer age, String name) {
return lambdaQuery()
.eq(id!=null,User::getId,id)
.eq(age!=null,User::getAge,age)
.eq(name!=null,User::getName,name)
.list();
}
}

@ -30,7 +30,7 @@ class MybatisDemoApplicationTests {
@Test
void update(){
User user = new User();
user.setId(27);
user.setId(27L);
user.setName("hrc");
user.setAge(123);
int i = userMapper.updateById(user);
@ -39,13 +39,13 @@ class MybatisDemoApplicationTests {
@Test
void select(){
User user = userMapper.selectById(27);
User user = userMapper.selectById(27L);
System.out.println(user);
}
@Test
void delete(){
int i = userMapper.deleteById(28);
int i = userMapper.deleteById(28L);
System.out.println("删除了"+i+"条数据");
}

Loading…
Cancel
Save