使用 MyBatis Plus 注解方式实现查询学生信息

本文将通过完整的代码示例,演示如何使用 MyBatis Plus 注解方式实现查询学生信息。

1. 实体类

public class Student {
    private Long id;
    private String name;
    private Integer age;
    // ... 其他属性

    // Getter 和 Setter 方法
}

2. Mapper 接口

@Mapper
public interface StudentMapper extends BaseMapper<Student> {
}

3. Service 接口

public interface StudentService extends IService<Student> {
}

4. Service 实现类

@Service
public class StudentServiceImpl extends ServiceImpl<StudentMapper, Student> implements StudentService {

    @Autowired
    private StudentMapper studentMapper;

    @Override
    public Student getById(Serializable id) {
        return studentMapper.selectById(id);
    }
}

5. Controller

@Controller
public class StudentController {

    @Autowired
    private StudentService studentService;

    @GetMapping("/student/{id}")
    @ResponseBody
    public Student getStudentById(@PathVariable("id") Long id) {
        return studentService.getById(id);
    }
}

6. 调用 Service 方法

// 查询 id 为 12 的学生
Student student = studentService.getById(12L);

常见错误和解决方法

**错误提示:**Invalid bound statement (not found): com.example.demo1.mapper.StudentMapper.selectById

可能原因:

  1. mapper.xml 文件中没有定义 selectById 语句。
  2. mapper.xml 文件中定义了 selectById 语句,但没有正确引入。
  3. mapper.xml 文件中定义了 selectById 语句,但它的 namespace 和 mapper 接口的包名不一致。

解决方法:

  1. 确认在 mapper 接口中是否正确定义了 selectById 方法,并且方法名和参数与 mapper.xml 中定义的一致。
  2. 确认在 mapper 接口上是否添加了 @Mapper 注解,以便让 MyBatis 能够正确识别。
  3. 确认在 mapper 接口上是否添加了 @Repository@Service 注解,以便让 Spring 能够正确识别并注入。
  4. 确认在 Service 实现类中是否正确注入了对应的 mapper 接口,并且实现了 Service 接口中的方法。
  5. 确认在 Service 实现类中调用 mapper 接口的方法时,是否使用了正确的方法名和参数。

如果以上步骤都没有解决问题,可以尝试重新构建项目,或者检查相关依赖是否正确引入。

注意:

  • 在代码示例中,我们使用了 MyBatis Plus 的 BaseMapper 接口,它包含了许多常用的 CRUD 方法,方便我们快速开发。
  • @Mapper 注解用于告诉 MyBatis 这是一个 Mapper 接口,@Service 注解用于告诉 Spring 这是一个 Service 实现类。
  • @Autowired 注解用于自动注入依赖,例如 StudentMapper 和 StudentService。
  • @GetMapping 注解用于定义一个 GET 请求映射,@ResponseBody 注解用于将返回结果转换为 JSON 格式。
  • @PathVariable 注解用于获取 URL 中的路径变量。

希望本文能够帮助您理解如何使用 MyBatis Plus 注解方式实现查询学生信息,并解决开发中遇到的问题。

MyBatis Plus 注解方式实现查询学生信息:代码示例和常见错误解决

原文地址: https://www.cveoy.top/t/topic/lB8n 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录