增删改查mybatis

下午很开心,自己琢磨增删改查,把简单问题复杂化,然后去解决它,过程中学到了东西,感谢同事。记录一下问题和过程。

问题描述:我需要从第一张表中获取到张老师的班级;
然后,从张老师所在的班级取姓李的学生的集合。

这里用的的技术有:
1、拼接两个列表的list;
2、

算了,我不是一个善于总结的人

1、测试代码
SqlSession sqlSession = MybatisUtils.getSqlSession();
		 ClazzMapper mapper = sqlSession.getMapper(ClazzMapper.class);

		 List<Clazz> clazzes = mapper.selectTeacherByName("张%");

		 List<Integer> ids=new ArrayList<>();
		 for (Clazz clazz : clazzes) {
			 ids.add(clazz.getId());
		 }

		 StudentMapper1 mapper1 = sqlSession.getMapper(StudentMapper1.class);

		 VO vo=new VO();

		 List<Student> listAll=new ArrayList<>();

		 for(Integer studentClazz:ids){

		 	vo.setStuClazz(studentClazz);
		 	vo.setStuName("李%");
		 	//返回值过多,用list
			 List<Student> students1 = mapper1.selectStudentByClazzId(vo);

			 listAll.addAll(students1);
		 }
		 listAll.forEach(System.out::println);
	 }
2、数据库代码
	<select id="selectTeacherByName" parameterType="String" resultType="Clazz">
        select * from clazz where clazz_teacher like #{clazzTeacher}
    </select>
    <select id="selectStudentByClazzId" resultType="Student" parameterType="VO">

        select * from student where student_clazz=#{stuClazz} and student_name like #{stuName}
    </select>
3、接口
List<Clazz> selectTeacherByName(String teacherName);
List<Student> selectStudentByClazzId(VO vo);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值