case mybatis 不同表_Mybatis中表之间的映射关系

在Mybatis中表之间的映射关系

idea

maven

mybatis

一、创建工程

二、一对一的关系

两张表:team address

team中有一列address_id,对应address表中的id

1、在查询team表的同时查询关联的address表

建立实体类--bean这个package下

Team 类

public class Team {

private Integer id;

private String name;

private Integer aid;

// 作为关联的值

private Address address;

// 省略get、set、toString方法

}

Address 类

public class Address {

private Integer id;

private String name;

// 省略get、set、toString方法

}

建立接口--mapper这个package下

TeamMapper 接口

public interface TeamMapper {

List findAllTeam();

List findTeamById(@Param("tid") Integer id);

}

AddressMapper 接口

public interface AddressMapper {

List

findAllAddress();

List

findAddressById(@Param("aid") Integer id);

}

每个接口中都可以定义各种方法

如果有的方法需要参数,有两种方式添加参数:

1、直接添加一个类

2、用@Param注解,注解中的参数名是写在sql语句中的条件

建立接口对应的xml文件--mapper这个package下,用来写sql语句

配置

TeamMapper.xml xml文件

/p>

PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

column="参数2"

javaType="参数3"

select="参数4"/>

SELECT *FROM team

想要在查询team的同时把team关联的address也查出来

1、在team这个类中加入对应的private Address address;

2、在TeamMapper.xml中的resultMap标签中添加一个association标签

3、association的四个属性:

(1)参数1:team这个类中关联想要查询的类的那个属性(例如想要通过team查询address,这里填的就是private Address address;中的address(小写)

(2)参数2:当前这个类中有的可以关联另一个表的参数(在team表中有一个address_id,它对应着address表中的主键id,所以这里写address_id)

(3)参数3:返回值的类型,是一个类的时候直接写类名,是一个List集合的时候写ArrayList

(4)参数4:想要查询的Mapper中的sql语句,前面加上命名空间,最后.方法名

AddressMapper.xml xml文件

/p>

PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

SELECT *FROM address WHERE id=#{aid}

这里只需要写需要的sql语句就可以

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值