mybatis中的映射关系

 时间:2026-02-12 09:56:30

1、mybatis中使用的代理模式,dao接口与mapper文件的关系,就是代理关系,dao接口内只有方法,而具体的实现依赖mapper文件

例如:dao接口内的方法: public  List  findAll();

mapper内的实现:

mybatis中的映射关系

2、id对应的是接口内的方法 ,resultType 返回值类型,resultMap返回的是集合

<select id="findAll" resultMap="profitMap">  select p.storePhone,p.number,s.id,s.name,s.price,s.percent from profit p,seed s  where p.seedId=s.id; </select>

<resultMap type="Profit" id="profitMap">  <result column="storePhone" property="storePhone"/>  <result column="number" property="number"/>  

mybatis中的映射关系

3、一对一关系对应使用association,property对应实体对象的属性,javatypejava类型,column 对应的一对一的一个键值;

<association property="seed" javaType="Seed" column="seedId">   <id column="id" property="id"/>   <result column="name" property="name"/>   <result column="price" property="price"/>   <result column="percent" property="percent"/>  </association> </resultMap>

mybatis中的映射关系

1、也可以这样

<association property="seed"  column="seedId">   select="包路径.SeedMapper.id属性" </resultMap>

mybatis中的映射关系

2、property属性代表映射带pojo属性上,select配置是命名空间+sql id的形式,这样便可以指向mapper的sql,mybatis就会通过对应的sql将数据查询出来了,column代表的sql列,用作参数传递给select属性指定的sql,如果有多个参数可以使用逗号隔开;

mybatis中的映射关系

3、<discriminator>元素,鉴别器,

<discriminator javaType="int" column="flag">    <case value="0" resultType="seed"></case>    <case value="1" resultType="seed2"></case>   </discriminator>

mybatis中的映射关系

4、column代表的是使用那个字段进行鉴别,这里使用的flag进行鉴别;他的子元素case用于区分,类似与java中的switch ... case ...  语句

mybatis中的映射关系

  • Win10专业版系统时间总是不对怎么回事?
  • 使用电脑管家怎样解决网络问题
  • 如何打开DNF伤害统计
  • 怎样用电脑赚钱月入10万
  • Win8怎么安装Outlook企业邮箱证书
  • 热门搜索
    旅游景点网站 冬天去哪里旅游比较好 旅游族 上海旅游指南 常州旅游攻略 上海市旅游局 东三省旅游 内蒙古旅游局 仙桃旅游 苏州东山旅游攻略