mybatis-plus service层的CRUD使用示例

MyBatis-Plus 是 MyBatis 的增强工具,在 MyBatis 的基础上提供了更便捷的 CRUD 操作、分页查询、代码生成等功能。在 Service 层使用 MyBatis-Plus 进行 CRUD 操作,通常需要创建一个 Service 类来调用 MyBatis-Plus 提供的方法。

以下是一个基本的 Service 类的示例,展示了如何使用 MyBatis-Plus 进行 CRUD 操作:

  1. 定义实体类:

    首先,你需要定义与数据库表对应的实体类,并使用 @TableName 注解指定表名,以及使用 @TableId 注解指定主键字段。

    import com.baomidou.mybatisplus.annotation.TableId;
    import com.baomidou.mybatisplus.annotation.TableName;
    
    @TableName("user")
    public class User {
        @TableId
        private Long id;
        private String name;
        private Integer age;
        // getter 和 setter 方法省略
    }
    
  2. 创建 Service 接口和实现类:

    创建一个 Service 接口并继承 MyBatis-Plus 的 IService 接口,然后创建一个实现类来实现该接口。MyBatis-Plus 会自动为你提供基本的 CRUD 方法。

    import com.baomidou.mybatisplus.extension.service.IService;
    
    public interface UserService extends IService<User> {
    }
    
    import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
    import org.springframework.stereotype.Service;
    
    @Service
    public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
    }
    
  3. 使用 Service 进行 CRUD 操作:

    在需要进行数据库操作的地方,注入 UserService,然后调用其中的方法即可进行 CRUD 操作。

    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.*;
    
    @RestController
    @RequestMapping("/users")
    public class UserController {
        @Autowired
        private UserService userService;
    
        // 查询用户列表
        @GetMapping("/")
        public List<User> listUsers() {
            return userService.list();
        }
    
        // 根据id查询用户
        @GetMapping("/{id}")
        public User getUser(@PathVariable Long id) {
            return userService.getById(id);
        }
    
        // 新增用户
        @PostMapping("/")
        public boolean createUser(@RequestBody User user) {
            return userService.save(user);
        }
    
        // 修改用户
        @PutMapping("/{id}")
        public boolean updateUser(@PathVariable Long id, @RequestBody User user) {
            user.setId(id);
            return userService.updateById(user);
        }
    
        // 删除用户
        @DeleteMapping("/{id}")
        public boolean deleteUser(@PathVariable Long id) {
            return userService.removeById(id);
        }
    }
    

    在这个示例中,我们定义了一个 UserController 类,并注入了 UserService。然后我们在对应的方法中调用 UserService 中的方法来进行 CRUD 操作。

总的来说,使用 MyBatis-Plus 进行 CRUD 操作的步骤包括定义实体类、创建 Service 接口和实现类,然后在 Controller 中注入 Service 并调用其中的方法来实现业务逻辑。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐