SpringBoot整合Mybatis实现增删改查

痛定思痛。 2022-02-27 05:56 424阅读 0赞

源码获取

源码已上传至GitHub,地址:https://github.com/291685399/springboot-learning/tree/master/springboot-mybatis01 (内含sql文件)
pom.xml里添加:

  1. <dependency>
  2. <groupId>org.mybatis.spring.boot</groupId>
  3. <artifactId>mybatis-spring-boot-starter</artifactId>
  4. <version>2.0.0</version>
  5. </dependency>

ApiApplication.java:

  1. package com.wyj;
  2. import org.mybatis.spring.annotation.MapperScan;
  3. import org.springframework.boot.SpringApplication;
  4. import org.springframework.boot.autoconfigure.SpringBootApplication;
  5. @SpringBootApplication
  6. @MapperScan(basePackages = "com.wyj.mapper")//用于扫描mybatis中的mapper文件,要是mapper接口的具体路径
  7. public class ApiApplication {
  8. public static void main(String[] args) {
  9. SpringApplication.run(ApiApplication.class, args);
  10. }
  11. }

application.properties:

  1. # tomcat port
  2. server.port=8080
  3. # datasource
  4. spring.datasource.driver-class-name=com.mysql.jdbc.Driver
  5. spring.datasource.url=jdbc:mysql://127.0.0.1:3306/springboot-mybatis01?allowMultiQueries=true&useUnicode=true&useSSL=false&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull
  6. spring.datasource.username=root
  7. spring.datasource.password=root
  8. # mybatis
  9. mybatis.mapper-locations=classpath*:mapper/*.xml
  10. mybatis.type-aliases-package=com.wyj.entity

UserController.java:

  1. package com.wyj.controller;
  2. import com.wyj.entity.po.User;
  3. import com.wyj.entity.vo.APIResponse;
  4. import com.wyj.service.UserService;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.web.bind.annotation.RequestMapping;
  7. import org.springframework.web.bind.annotation.RestController;
  8. import java.util.List;
  9. @RestController
  10. public class UserController {
  11. @Autowired
  12. private UserService userService;
  13. @RequestMapping(value = "/insertUser")
  14. public APIResponse insertUser() {
  15. User user = new User("1", "admin", "admin");
  16. userService.insertUser(user);
  17. return APIResponse.success("保存成功");
  18. }
  19. @RequestMapping(value = "/updateUser")
  20. public APIResponse updateUser() {
  21. User user = new User();
  22. user.setId("1");
  23. user.setPassword("abc");
  24. userService.updateUser(user);
  25. return APIResponse.success("修改成功");
  26. }
  27. @RequestMapping(value = "/deleteUser")
  28. public APIResponse deleteUser() {
  29. String id = "1";
  30. userService.deleteUser(id);
  31. return APIResponse.success("删除成功");
  32. }
  33. @RequestMapping(value = "/seleteUser")
  34. public APIResponse seleteUser() {
  35. String id = "1";
  36. User user = userService.seleteUser(id);
  37. return APIResponse.success(user);
  38. }
  39. @RequestMapping(value = "/seleteUserList")
  40. public APIResponse seleteUserList() {
  41. User user = new User();
  42. user.setUsername("admin");
  43. List<User> users = userService.seleteUserList(user);
  44. return APIResponse.success(users);
  45. }
  46. }

UserService.java:

  1. package com.wyj.service;
  2. import com.wyj.entity.po.User;
  3. import java.util.List;
  4. public interface UserService {
  5. /** * 新增数据 * * @param user */
  6. public void insertUser(User user);
  7. /** * 修改数据 * * @param user */
  8. public void updateUser(User user);
  9. /** * 删除数据 * * @param id */
  10. public void deleteUser(String id);
  11. /** * 查找单条数据 * * @param id * @return */
  12. public User seleteUser(String id);
  13. /** * 查找多条数据 * * @param user * @return */
  14. public List<User> seleteUserList(User user);
  15. }

UserServiceImpl.java:

  1. package com.wyj.service.impl;
  2. import com.wyj.entity.po.User;
  3. import com.wyj.mapper.UserMapper;
  4. import com.wyj.service.UserService;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.stereotype.Service;
  7. import java.util.List;
  8. @Service("userService")
  9. public class UserServiceImpl implements UserService {
  10. @Autowired
  11. private UserMapper userMapper;
  12. @Override
  13. public void insertUser(User user) {
  14. userMapper.insertUser(user);
  15. }
  16. @Override
  17. public void updateUser(User user) {
  18. userMapper.updateUser(user);
  19. }
  20. @Override
  21. public void deleteUser(String id) {
  22. userMapper.deleteUser(id);
  23. }
  24. @Override
  25. public User seleteUser(String id) {
  26. return userMapper.seleteUser(id);
  27. }
  28. @Override
  29. public List<User> seleteUserList(User user) {
  30. return userMapper.seleteUserList(user);
  31. }
  32. }

UserMapper:

  1. package com.wyj.mapper;
  2. import com.wyj.entity.po.User;
  3. import java.util.List;
  4. public interface UserMapper {
  5. /** * 新增数据 * * @param user */
  6. public void insertUser(User user);
  7. /** * 修改数据 * * @param user */
  8. public void updateUser(User user);
  9. /** * 删除数据 * * @param id */
  10. public void deleteUser(String id);
  11. /** * 查找单条数据 * * @param id * @return */
  12. public User seleteUser(String id);
  13. /** * 查找多条数据 * * @param user * @return */
  14. public List<User> seleteUserList(User user);
  15. }

UserMapper.xml:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
  3. <mapper namespace="com.wyj.mapper.UserMapper">
  4. <insert id="insertUser" parameterType="com.wyj.entity.po.User">
  5. insert into `user` values (#{id},#{username},#{password})
  6. </insert>
  7. <update id="updateUser" parameterType="com.wyj.entity.po.User">
  8. update `user` set password=#{password} where id=#{id}
  9. </update>
  10. <delete id="deleteUser" parameterType="java.lang.String">
  11. delete from `user` where id=#{id}
  12. </delete>
  13. <select id="seleteUser" parameterType="java.lang.String" resultType="com.wyj.entity.po.User">
  14. select id,username,password from `user` where id=#{id}
  15. </select>
  16. <select id="seleteUserList" parameterType="com.wyj.entity.po.User" resultType="com.wyj.entity.po.User">
  17. select id,username,password from `user` where username=#{username}
  18. </select>
  19. </mapper>

User.java:

  1. package com.wyj.entity.po;
  2. import java.io.Serializable;
  3. public class User implements Serializable {
  4. private String id;
  5. private String username;
  6. private String password;
  7. public User() { }
  8. public User(String id, String username, String password) {
  9. this.id = id;
  10. this.username = username;
  11. this.password = password;
  12. }
  13. public String getId() { return id;}
  14. public void setId(String id) { this.id = id;}
  15. public String getUsername() { return username;}
  16. public void setUsername(String username) { this.username = username;}
  17. public String getPassword() { return password;}
  18. public void setPassword(String password) { this.password = password;}
  19. @Override
  20. public String toString() {
  21. return "User{" +
  22. "id='" + id + '\'' +
  23. ", username='" + username + '\'' +
  24. ", password='" + password + '\'' +
  25. '}';
  26. }
  27. }

APIResponse.java:

  1. package com.wyj.entity.vo;
  2. import java.io.Serializable;
  3. public class APIResponse implements Serializable {
  4. private String msg;
  5. private Object data;
  6. public APIResponse() { }
  7. public APIResponse(Object data) { this.data = data;}
  8. public APIResponse(String msg, Object data) {
  9. this.msg = msg;
  10. this.data = data;
  11. }
  12. public static APIResponse success(Object date) { return new APIResponse(date);}
  13. public String getMsg() { return msg;}
  14. public void setMsg(String msg) { this.msg = msg;}
  15. public Object getData() { return data;}
  16. public void setData(Object data) { this.data = data;}
  17. @Override
  18. public String toString() {
  19. return "APIResponse{" +
  20. "msg='" + msg + '\'' +
  21. ", data='" + data + '\'' +
  22. '}';
  23. }
  24. }

发表评论

表情:
评论列表 (有 0 条评论,424人围观)

还没有评论,来说两句吧...

相关阅读