mybatis-plus service層的CRUD使用示例
MyBatis-Plus 是 MyBatis 的增強工具,在 MyBatis 的基礎上提供了更便捷的 CRUD 操作、分頁查詢、代碼生成等功能。在 Service 層使用 MyBatis-Plus 進行 CRUD 操作,通常需要創建一個 Service 類來調用 MyBatis-Plus 提供的方法。
以下是一個基本的 Service 類的示例,展示了如何使用 MyBatis-Plus 進行 CRUD 操作:
-
定義實體類:
首先,你需要定義與數據庫表對應的實體類,并使用
@TableName
注解指定表名,以及使用@TableId
注解指定主鍵字段。import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName;@TableName("user") public class User {@TableIdprivate Long id;private String name;private Integer age;// getter 和 setter 方法省略 }
-
創建 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 { }
-
使用 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 {@Autowiredprivate 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 并調用其中的方法來實現業務邏輯。