mybatis-plus的多表查询——vo层——@select注解
2021/4/10 10:30:59
本文主要是介绍mybatis-plus的多表查询——vo层——@select注解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
定义vo层
@Data public class stvo { private Integer sid; private String sname; private String tname; private Integer age; private LocalDate gradetime; }
在service定义方法
public interface StudentService extends IService<Student> { public List<stvo> find(); }
实现定义的方法
@Service public class StudentServiceImpl extends ServiceImpl<StudentMapper, Student> implements StudentService { @Autowired private StudentMapper studentMapper; @Autowired private TeacherMapper teacherMapper; @Override public List<stvo> find() { List<Student> students = studentMapper.selectList(null); List<stvo> stvoList = new ArrayList<>(); for (Student student : students) { stvo stvo = new stvo(); BeanUtils.copyProperties(student,stvo); QueryWrapper wrapper = new QueryWrapper(); wrapper.eq("tid",student.getTeacher()); stvo.setTname(teacherMapper.selectOne(wrapper).getTname()); stvoList.add(stvo); } return stvoList; } }
controller层返回json数据
@RequestMapping("/list") @ResponseBody public List<stvo> list(){ return studentService.find(); }
@select注解
mapper方法
public interface StudentMapper extends BaseMapper<Student> { @Select("SELECT s.sid,s.sname,t.tname,s.age,s.gradetime FROM student s,teacher t WHERE s.teacher=t.tid") public List<stvo> duo(); }
controller层返回json数据
@RequestMapping("/duo") @ResponseBody public List<stvo> duo(){ return studentMapper.duo(); }
这篇关于mybatis-plus的多表查询——vo层——@select注解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享