From b94f4a3e4e59d134fe6773d60c6bc2f3e6ffe407 Mon Sep 17 00:00:00 2001 From: hanrenchun Date: Thu, 19 Oct 2023 16:18:02 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9B=86=E6=88=90mybatis-plus,=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0JsonResult=E8=BF=94=E5=9B=9E=E5=80=BC=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B,=E5=A2=9E=E5=8A=A0service=E5=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 5 ++ .../controller/UserController.java | 47 +++++++--------- .../mybatisdemo/mapper/UserMapper.java | 10 ++-- .../example/mybatisdemo/pojo/dto/UserDTO.java | 4 +- .../example/mybatisdemo/pojo/entity/User.java | 8 ++- .../example/mybatisdemo/pojo/vo/UserVO.java | 4 +- .../repository/IUserRepository.java | 14 +++++ .../repository/UserRepository.java | 46 ++++++++++++++++ .../mybatisdemo/result/JsonResult.java | 30 +++++++++++ .../mybatisdemo/service/IUserService.java | 12 +++++ .../mybatisdemo/service/UserService.java | 54 +++++++++++++++++++ src/main/resources/application.properties | 3 +- src/main/resources/mappers/UserMapper.xml | 20 ------- .../MybatisDemoApplicationTests.java | 43 +++++++++------ 14 files changed, 225 insertions(+), 75 deletions(-) create mode 100644 src/main/java/com/example/mybatisdemo/repository/IUserRepository.java create mode 100644 src/main/java/com/example/mybatisdemo/repository/UserRepository.java create mode 100644 src/main/java/com/example/mybatisdemo/result/JsonResult.java create mode 100644 src/main/java/com/example/mybatisdemo/service/IUserService.java create mode 100644 src/main/java/com/example/mybatisdemo/service/UserService.java diff --git a/pom.xml b/pom.xml index 2bb6644..eaf96d5 100644 --- a/pom.xml +++ b/pom.xml @@ -42,6 +42,11 @@ 2.3.1 test + + com.baomidou + mybatis-plus-boot-starter + 3.3.0 + org.projectlombok diff --git a/src/main/java/com/example/mybatisdemo/controller/UserController.java b/src/main/java/com/example/mybatisdemo/controller/UserController.java index 398b339..cf62f56 100644 --- a/src/main/java/com/example/mybatisdemo/controller/UserController.java +++ b/src/main/java/com/example/mybatisdemo/controller/UserController.java @@ -4,6 +4,8 @@ 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 org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -13,42 +15,31 @@ import org.springframework.web.bind.annotation.*; public class UserController { @Autowired - private UserMapper userMapper; + private IUserService iUserService; + @PostMapping("/addUser") - public String addUser(@RequestBody UserDTO userDTO){ - User user = new User(); - BeanUtils.copyProperties(userDTO,user); - int insert = userMapper.insert(user); - if (insert!=0){ - return "添加成功"; - } - return "添加失败"; + public JsonResult addUser(@RequestBody UserDTO userDTO) { + return iUserService.insertUser(userDTO); } - @GetMapping("/selectUser/{id}") - public UserVO selectUser(@PathVariable int id){ - UserVO userVO = userMapper.selectById(id); - return userVO; + @PostMapping("/updateUser") + public JsonResult updateUser(@RequestBody UserDTO userDTO){ + return iUserService.updateUser(userDTO); } - - @PostMapping("/update") - public String updateUser(@RequestBody UserDTO userDTO){ - int i = userMapper.updateById(userDTO); - if (i!=0){ - return "修改成功"; - } - return "修改失败"; + @PostMapping("/deleteUser") + public JsonResult deleteUser(@RequestBody UserDTO userDTO){ + return iUserService.deleteUser(userDTO); } + @PostMapping("/selectById") + public JsonResult selectUserById(@RequestBody UserDTO userDTO){ + return iUserService.selectUserById(userDTO); + } - @GetMapping("delete/{id}") - public String deleteUser(@PathVariable int id){ - int i = userMapper.deleteById(id); - if (i!=0){ - return "删除成功"; - } - return "删除失败"; + @PostMapping("/selectByName") + public JsonResult selectByName(@RequestBody UserDTO userDTO){ + return iUserService.selectUserByName(userDTO); } } diff --git a/src/main/java/com/example/mybatisdemo/mapper/UserMapper.java b/src/main/java/com/example/mybatisdemo/mapper/UserMapper.java index 34ea12b..ee16f18 100644 --- a/src/main/java/com/example/mybatisdemo/mapper/UserMapper.java +++ b/src/main/java/com/example/mybatisdemo/mapper/UserMapper.java @@ -1,14 +1,12 @@ package com.example.mybatisdemo.mapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.example.mybatisdemo.pojo.dto.UserDTO; import com.example.mybatisdemo.pojo.entity.User; import com.example.mybatisdemo.pojo.vo.UserVO; +import org.springframework.stereotype.Repository; +@Repository +public interface UserMapper extends BaseMapper { -public interface UserMapper { - - UserVO selectById(int id); - int insert(User user); - int updateById(UserDTO userDTO); - int deleteById(int id); } diff --git a/src/main/java/com/example/mybatisdemo/pojo/dto/UserDTO.java b/src/main/java/com/example/mybatisdemo/pojo/dto/UserDTO.java index 1da8346..b25e68c 100644 --- a/src/main/java/com/example/mybatisdemo/pojo/dto/UserDTO.java +++ b/src/main/java/com/example/mybatisdemo/pojo/dto/UserDTO.java @@ -2,8 +2,10 @@ package com.example.mybatisdemo.pojo.dto; import lombok.Data; +import java.io.Serializable; + @Data -public class UserDTO { +public class UserDTO implements Serializable { private Integer id; private String name; private Integer age; diff --git a/src/main/java/com/example/mybatisdemo/pojo/entity/User.java b/src/main/java/com/example/mybatisdemo/pojo/entity/User.java index ff5859d..9f5b823 100644 --- a/src/main/java/com/example/mybatisdemo/pojo/entity/User.java +++ b/src/main/java/com/example/mybatisdemo/pojo/entity/User.java @@ -1,10 +1,16 @@ package com.example.mybatisdemo.pojo.entity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; +import java.io.Serializable; import java.util.Date; @Data -public class User { + +public class User implements Serializable { + @TableId(type = IdType.AUTO) private Integer id; private String name; private Integer age; diff --git a/src/main/java/com/example/mybatisdemo/pojo/vo/UserVO.java b/src/main/java/com/example/mybatisdemo/pojo/vo/UserVO.java index 9734ca1..0e44689 100644 --- a/src/main/java/com/example/mybatisdemo/pojo/vo/UserVO.java +++ b/src/main/java/com/example/mybatisdemo/pojo/vo/UserVO.java @@ -2,8 +2,10 @@ package com.example.mybatisdemo.pojo.vo; import lombok.Data; +import java.io.Serializable; + @Data -public class UserVO { +public class UserVO implements Serializable { private String name; private Integer age; diff --git a/src/main/java/com/example/mybatisdemo/repository/IUserRepository.java b/src/main/java/com/example/mybatisdemo/repository/IUserRepository.java new file mode 100644 index 0000000..798bde7 --- /dev/null +++ b/src/main/java/com/example/mybatisdemo/repository/IUserRepository.java @@ -0,0 +1,14 @@ +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 selectByName(String name); +} diff --git a/src/main/java/com/example/mybatisdemo/repository/UserRepository.java b/src/main/java/com/example/mybatisdemo/repository/UserRepository.java new file mode 100644 index 0000000..27eb313 --- /dev/null +++ b/src/main/java/com/example/mybatisdemo/repository/UserRepository.java @@ -0,0 +1,46 @@ +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 selectByName(String name) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("name", name); + return userMapper.selectList(wrapper); + } + +} diff --git a/src/main/java/com/example/mybatisdemo/result/JsonResult.java b/src/main/java/com/example/mybatisdemo/result/JsonResult.java new file mode 100644 index 0000000..3aac86e --- /dev/null +++ b/src/main/java/com/example/mybatisdemo/result/JsonResult.java @@ -0,0 +1,30 @@ +package com.example.mybatisdemo.result; + +import lombok.Data; + +@Data +public class JsonResult { + + + private String message; + private Object data; + + public static JsonResult ok(){ + return JsonResult.ok(null); + } + + + public static JsonResult ok(Object data) { + JsonResult jsonResult = new JsonResult(); + jsonResult.message = "操作成功"; + jsonResult.data = data; + return jsonResult; + } + + + public static JsonResult fail(){ + JsonResult jsonResult = new JsonResult(); + jsonResult.message = "操作失败"; + return jsonResult; + } +} \ No newline at end of file diff --git a/src/main/java/com/example/mybatisdemo/service/IUserService.java b/src/main/java/com/example/mybatisdemo/service/IUserService.java new file mode 100644 index 0000000..740dc3c --- /dev/null +++ b/src/main/java/com/example/mybatisdemo/service/IUserService.java @@ -0,0 +1,12 @@ +package com.example.mybatisdemo.service; + +import com.example.mybatisdemo.pojo.dto.UserDTO; +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); +} diff --git a/src/main/java/com/example/mybatisdemo/service/UserService.java b/src/main/java/com/example/mybatisdemo/service/UserService.java new file mode 100644 index 0000000..10dd1c1 --- /dev/null +++ b/src/main/java/com/example/mybatisdemo/service/UserService.java @@ -0,0 +1,54 @@ +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 users = iUserRepository.selectByName(userDTO.getName()); + return (users!=null)?JsonResult.ok(users):JsonResult.fail(); + } + + +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 8159ea8..a1f812b 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,5 +1,4 @@ spring.datasource.url=jdbc:mysql://192.168.0.188:55306/bakljy spring.datasource.username=root spring.datasource.password=!QAZ1qaz - -mybatis.mapper-locations=classpath:mappers/*.xml +mybatis-plus.mapper-locations=classpath:mappers/*.xml \ No newline at end of file diff --git a/src/main/resources/mappers/UserMapper.xml b/src/main/resources/mappers/UserMapper.xml index d8dd511..7118fe0 100644 --- a/src/main/resources/mappers/UserMapper.xml +++ b/src/main/resources/mappers/UserMapper.xml @@ -3,25 +3,5 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - - - INSERT INTO user(id, name, age) - VALUES (NULL,#{name},#{age}) - - - - UPDATE user SET - name = #{name}, - age = #{age} - WHERE id = #{id} - - - - DELETE FROM user WHERE id = #{id} - diff --git a/src/test/java/com/example/mybatisdemo/MybatisDemoApplicationTests.java b/src/test/java/com/example/mybatisdemo/MybatisDemoApplicationTests.java index 21c370b..bbe722a 100644 --- a/src/test/java/com/example/mybatisdemo/MybatisDemoApplicationTests.java +++ b/src/test/java/com/example/mybatisdemo/MybatisDemoApplicationTests.java @@ -1,5 +1,6 @@ package com.example.mybatisdemo; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.example.mybatisdemo.mapper.UserMapper; import com.example.mybatisdemo.pojo.dto.UserDTO; import com.example.mybatisdemo.pojo.entity.User; @@ -9,6 +10,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.test.context.SpringBootTest; +import java.util.List; + @SpringBootTest class MybatisDemoApplicationTests { @@ -16,34 +19,42 @@ class MybatisDemoApplicationTests { private UserMapper userMapper; @Test - void selectByIdTest() { - UserVO userVO = userMapper.selectById(1); - System.out.println(userVO); + void insert(){ + User user = new User(); + user.setName("hanrenchun"); + user.setAge(100); + int insert = userMapper.insert(user); + System.out.println("添加了"+insert+"条数据"); } @Test - void insert(){ + void update(){ User user = new User(); + user.setId(27); user.setName("hrc"); - user.setAge(23); - int count = userMapper.insert(user); - System.out.println("添加了"+count+"条数据"); + user.setAge(123); + int i = userMapper.updateById(user); + System.out.println("修改了"+i+"条数据"); } @Test - void update(){ - UserDTO userDTO = new UserDTO(); - userDTO.setAge(18); - userDTO.setName("hanrenchun"); - userDTO.setId(19); - int count = userMapper.updateById(userDTO); - System.out.println("修改了"+count+"条数据"); + void select(){ + User user = userMapper.selectById(27); + System.out.println(user); } @Test void delete(){ - int count = userMapper.deleteById(19); - System.out.println("删除了"+count+"条数据"); + int i = userMapper.deleteById(28); + System.out.println("删除了"+i+"条数据"); + } + + @Test + void selectList(){ + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("name", "yu"); + List users = userMapper.selectList(wrapper); + System.out.println(users); } }