网站开发需要学什么技能,电子商务营销理论,WordPress用户中心开发,网站建设mngN1查询方式 [1]什么是N1的查询方式 如果没有N1的方式我们想要实现多表的查询#xff0c;自己书写查询的业务逻辑代码#xff08;java#xff09; mybatis希望通过自己标签配置的方式来解决这个问题 [2]执行的操作 查询学生所在班级的信息#xff08;一对一#xff09; 查询…N1查询方式 [1]什么是N1的查询方式 如果没有N1的方式我们想要实现多表的查询自己书写查询的业务逻辑代码java mybatis希望通过自己标签配置的方式来解决这个问题 [2]执行的操作 查询学生所在班级的信息一对一 查询班级中所有学生的信息一对多 使用的时候书写标签需要注意 查询出来返回的是一个对象association 查询出来返回的是一个集合collection
总结 业务装配方式和N1查询方式共同点执行SQL语句的条数上都是N1条语句不同点业务装配方式是我们自己书写java代码的方式进行配置的N1方式通过MyBatis标签配置的方式实现的接口 StudentMapper.java
public interface StudentMapper {//查询所有学生的操作ListStudent selectAll();ListStudent selectMore(int clazzno);
}ClazzMapper.java
public interface ClazzMapper {//查询指定学生所在班级的信息Clazz selectOne(int clazzno);//查询所有班级信息ListClazz selectAll();
}XML StudentMapper.xml select idselectAll resultMaprm1SELECT * from student/selectresultMap idrm1 typestudent!--column数据库的列名 property实体的属性名--!--如果数据库的列明和实体类中的属性名一致就可以省去该标签但是公共字段不建议省去--id columnsid propertysid/idresult columnsname propertysname/resultresult columnclazzno propertyclazzno/result!--select * from clazz where clazzno?select:执行哪一个方法column希望查询的哪一列作为参数进行传递javaType返回值类型property:把返回的结果赋值给对象中哪一个属性--association selectcom.bjsxt.mapper.ClazzMapper.selectOnecolumnclazzno javaTypeclazz propertycla/association/resultMapClazzMapper.xml select idselectAll resultMaprm1SELECT * from clazz/selectresultMap idrm1 typeclazzid columnclazzno propertyclazzno/idresult columncname propertycname/result!--select:调用哪一个xml中方法column希望那一列作为参数进行传递ofType集合的泛型property:把返回的数据整体赋值给哪一个属性--collection selectcom.bjsxt.mapper.StudentMapper.selectMorecolumnclazzno ofTypestudent propertyli/collection/resultMap测试 //[4]执行方法StudentMapper stuMapper sqlSession.getMapper(StudentMapper.class);ClazzMapper claMapper sqlSession.getMapper(ClazzMapper.class);//查询所有学生所在的班级的信息/*ListStudent list stuMapper.selectAll();for(Student stu:list){System.out.println(stu);}*///查询所有班级中学生的信息ListClazz list claMapper.selectAll();for(Clazz clazz:list){System.out.println(clazz);}