1、
分段查询的基础之上(懒加载)加上两个配置在全局配置文件中config.xml:
2、方法二:使用association定义关联的单个对象
方法三:使用association进行分步查询
1、先按照t_id查询学生信息
2、根据查询学生信息中的t_sid值去学校表查出学校的信息 3、学校信息设置到学生中;3、
- Mybatis返回值
MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,resultType是直接表示返回类型的,而resultMap则是对外部ResultMap的引用,但是resultType跟resultMap不能同时存在。
在MyBatis进行查询映射时,其实查询出来的每一个属性都是放在一个对应的Map里面的,其中键是属性名,值则是其对应的值。
①当提供的返回类型属性是resultType时,MyBatis会将Map里面的键值对取出赋给resultType所指定的对象对应的属性。其实MyBatis的每一个查询映射的返回类型都是ResultMap,只是当提供的返回类型属性resultType的时候,MyBatis自动的给对应的值赋给resultType所指定对象的属性。
②当提供的返回类型是resultMap时,因为Map不能很好表示领域模型,就需要自己再进一步的把它转化为对应的对象,这常常在复杂查询中很有作用(association,Collection)
4、多个参数
任意多个参数,都会被MyBatis重新包装成一个Map传入。Map的key是param1,param2,或者0,1,值就是参数的值。
<!-- 带有多个参数,参数名 #{param1},#{param2},或者#{0},#{1},不能使用参数名-->
5、命名参数
为参数使用@Param起一个名字,MyBatis就会将这些参数封装进map中,key就是我们自己指定的名字
<!-- 带有多个参数,使用@Param注解,参数名直接使用定义名, #{name},#{pass}或,#{param1},#{param2},不能用#{0},#{1}-->