mybatis框架在接口的实现上, 用了配置文件来编写,常用的一些简单的增删查改方法,请看上一篇blog;
本次总结联表查询:
在某些情况下,个人比较喜欢玩DOTA1,玩了几年了,很多人流行DOTA2了,只是个人喜欢经典而已,我们就以DOTA来举例,游戏里有几种属性的Hero: 敏捷、力量、智力
在每种属性下的Hero都会有几十个不同的Hero,一旦我们需要通过属性来查询所有的Hero的时候,这个时候,就应该联表查询,每个Hero的表里都会有属性的外键,当然这里设计的话,肯定Hero是属于从表,这个时候,在配置文件上就应该这样去写:
<select id="findHeroBytypeId" parameterType="java.lang.Integer" resultMap="findHeroMap">
select id,hero_name,fk_type_id from t_hero where fk_type_id=#{typeId}
</select>
<resultMap type="HeroBean" id="findHeroMap">
<result property="id" column="id" javaType="java.lang.Integer"/>
<result property="heroName" column="hero_name" javaType="java.lang.String"/>
<association property="type" column="fk_type_id" select="com.eric.dao.IGameTypeMapper.findById"
javaType="GameTypeBean"></association>
</resultMap>
在自定义映射关系里,就要去调用其他配置文件的函数方法,才能得到所有拥有该属性的值。
另外,还有关于 Sqlsession 和 缓存机制 的一些理解,请看下一篇blog