MyBatis-Plus方法 getById(Serializable id);
文档链接 https://baomidou.com/guides/data-interface/#get
// 根据 ID 查询
T getById(Serializable id);
代码举例
shop = getById(id);
这行代码的作用是根据给定的 id,从数据库中查询对应的 Shop 对象。具体而言,getById(id) 是 MyBatis-Plus 框架提供的一个方法,用于根据主键 ID 查询单条记录。
详细解析:
-
方法来源:
getById(Serializable id)方法通常定义在 MyBatis-Plus 提供的IService<T>接口中。当服务类实现了该接口或继承了其默认实现类ServiceImpl<M, T>时,便可以直接使用该方法。
-
功能描述:
- 该方法的主要功能是通过主键 ID 查询对应的数据库记录,并将其映射为实体对象返回。如果查询到记录,则返回对应的实体对象;如果未查询到,则返回
null。
- 该方法的主要功能是通过主键 ID 查询对应的数据库记录,并将其映射为实体对象返回。如果查询到记录,则返回对应的实体对象;如果未查询到,则返回
-
参数说明:
id:要查询的记录的主键 ID,类型为Serializable。
-
返回值:
- 返回类型为
T,即泛型对应的实体类型。在您的代码中,T应该是Shop,因此返回的是一个Shop对象。
- 返回类型为
示例:
假设存在一个 ShopService 类继承了 ServiceImpl,则可以直接调用 getById 方法:
@Service
public class ShopServiceImpl extends ServiceImpl<ShopMapper, Shop> implements ShopService {
// 其他方法实现
}
在使用该服务类时,可以这样调用:
@Autowired
private ShopService shopService;
public Shop getShopById(Long id) {
return shopService.getById(id);
}
注意事项:
-
主键映射: 确保实体类中正确标注了主键字段,通常使用
@TableId注解标识。如果未正确配置主键,可能会导致getById方法返回null或抛出异常。 -
返回结果: 如果数据库中存在对应 ID 的记录,则返回该记录映射的实体对象;如果不存在,则返回
null。 -
异常处理: 在调用
getById方法时,建议对可能出现的null返回值进行处理,以避免NullPointerException。
通过使用 MyBatis-Plus 提供的 getById 方法,可以简化根据主键查询单条记录的操作,提高开发效率。

浙公网安备 33010602011771号