利用Lombok注解使得代码简化,和MP的lambdaQuery。

master
10503 1 year ago
parent 471ee439b9
commit e78758cc7c

@ -35,6 +35,12 @@
<version>3.3.0</version>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.15</version>
</dependency>
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>

@ -1,18 +1,20 @@
package com.watu.demo1.Controller;
import cn.hutool.core.bean.BeanUtil;
import com.watu.demo1.Service.IUserPlusService;
import com.watu.demo1.mapper.UserMapper;
import com.watu.demo1.pojo.DTO.UserDTO;
import com.watu.demo1.pojo.entity.User;
import com.watu.demo1.pojo.query.UserQuery;
import com.watu.demo1.pojo.vo.UserVO;
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
@RequestMapping("v1/Plus/")
@RequiredArgsConstructor
public class UserController {
// @Autowired(required = false)
// private UserMapper userMapper;
@ -51,24 +53,37 @@ public class UserController {
// return (insert != 0) ? "添加成功" : "添加失败";
// }
@Autowired
IUserPlusService service;
private final IUserPlusService service;
@PostMapping("add")
public void addNewUser(@RequestBody UserDTO userDTO){
public void addNewUser(@RequestBody UserDTO userDTO) {
service.addUser(userDTO);
}
@GetMapping("delete/{id}")
public void delete(@PathVariable Long id){
public void delete(@PathVariable Long id) {
service.deleteById(id);
}
@PostMapping("select")
public void select(@RequestBody UserDTO userDTO){
public void select(@RequestBody UserDTO userDTO) {
service.selectByName(userDTO);
}
@PostMapping("update/d1")
public void update(@RequestBody UserDTO userDTO){
public void update(@RequestBody UserDTO userDTO) {
service.updateById(userDTO);
}
/**复杂的条件查询*/
/**条件多,定义对象去封装,,,哦~~师傅之前可能是这个意思*/
/**
* Controllerlist
*/
@GetMapping("/list")
public List<UserVO> queryInFo(UserQuery query) {
List<User> users=service.queryUsers(query.getAge(),query.getId(),query.getName(),query.getVersion());
return BeanUtil.copyToList(users,UserVO.class);
}
}

@ -1,9 +1,12 @@
package com.watu.demo1.Service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.watu.demo1.pojo.DTO.UserDTO;
import com.watu.demo1.pojo.entity.User;
public interface IUserPlusService {
import java.util.List;
public interface IUserPlusService extends IService<User>{
/**
*
*
@ -37,4 +40,6 @@ public interface IUserPlusService {
* @return
* */
int updateById(UserDTO userDTO);
List<User> queryUsers(Integer age, String id, String name, Integer version);
}

@ -1,32 +1,38 @@
package com.watu.demo1.Service.Impl;
import com.sun.org.apache.bcel.internal.generic.NEW;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.watu.demo1.Service.IUserPlusService;
import com.watu.demo1.mapper.UserPlusMapper;
import com.watu.demo1.pojo.DTO.UserDTO;
import com.watu.demo1.pojo.entity.User;
import com.watu.demo1.pojo.vo.UserVO;
import com.watu.demo1.repository.IUserPlusRepository;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserPlusServiceImpl implements IUserPlusService {
@Autowired
public class UserPlusServiceImpl extends ServiceImpl<UserPlusMapper, User> implements IUserPlusService {
private IUserPlusRepository iUserPlusRepository;
public UserPlusServiceImpl(IUserPlusRepository iUserPlusRepository) {
this.iUserPlusRepository = iUserPlusRepository;
}
@Override
public void addUser(UserDTO userDTO) {
/**在这里就可以用到之前在Repository中定义的CountByName的方法用来查看库中是否已经存在相同的名字*/
String name = userDTO.getName();
System.out.println("要加入的名称是"+name);
System.out.println("要加入的名称是" + name);
int countByname = iUserPlusRepository.countByName(name);
if (countByname>0){
if (countByname > 0) {
throw new RuntimeException("名称被占用");
}
User user = new User();
BeanUtils.copyProperties(userDTO,user);
BeanUtils.copyProperties(userDTO, user);
iUserPlusRepository.insert(user);
System.out.println("古德古德");
}
@ -44,9 +50,21 @@ public class UserPlusServiceImpl implements IUserPlusService {
@Override
public int updateById(UserDTO userDTO) {
UserVO userVO = new UserVO();
BeanUtils.copyProperties(userDTO,userVO);
BeanUtils.copyProperties(userDTO, userVO);
return iUserPlusRepository.updateById(userVO);
}
@Override
public List<User> queryUsers(Integer age, String id, String name, Integer version) {
//TODO使用Wrapper来实现
/*用lambdaQuery*/
return lambdaQuery()
.eq( name!= null, User::getName, name)
.eq(version!=null,User::getVersion,version)
.lt(age!=null,User::getAge,age) //小于 等于 le
.gt(id!=null,User::getId,id) //大于 等于 ge
.list(); //判断查多个就是list就一个 就 one();分页就page();是否存在exist();数量 count();;
}
}

@ -0,0 +1,11 @@
package com.watu.demo1.pojo.query;
import lombok.Data;
@Data
public class UserQuery {
private String name;
private String id;
private Integer age;
private Integer version;
}

@ -5,14 +5,15 @@ import com.watu.demo1.mapper.UserPlusMapper;
import com.watu.demo1.pojo.entity.User;
import com.watu.demo1.pojo.vo.UserVO;
import com.watu.demo1.repository.IUserPlusRepository;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
@Repository
@RequiredArgsConstructor
public class UserPlusRepositoryImpl implements IUserPlusRepository {
@Autowired
private UserPlusMapper userPlusMapper;
private final UserPlusMapper userPlusMapper;
/**
*

@ -4,4 +4,5 @@ spring.datasource.password=!QAZ1qaz
mybatis.mapper-locations=classpath:mappers/*.xml
mybatis-plus.mapper-locations=classpath:mappers/*.xml
Loading…
Cancel
Save