MySql三表联查(Spring+SpringMVC+MyBatis)

时间:2022-03-25 14:52:08

一、三表联查:

    1、今天有一个任务是在原来的sql语句中,加一张表,查找这张表里的数据,并获取发送给另外一个程序;

    2、将心得体会以及代码写下,以后会用到;

二、现有三张表:info_basic   info_inspection   sys_user

    info_basic表:

MySql三表联查(Spring+SpringMVC+MyBatis)

    info_inspection表:

MySql三表联查(Spring+SpringMVC+MyBatis)

    sys_user表:

MySql三表联查(Spring+SpringMVC+MyBatis)

1、根据info_inspection表的DOCID以及sys_user表的ID查找sys_user表的NAME;

2、根据info_inspection表的CODE以及info_basic表的CODE查找info_basic表的NAMEAGEGENDER;

三、MyBatis的sql语句:

<!-- “LIS新增功能”——查询体检工作站——体检信息——临床检验申请单——勾选的体检项目 -->
<select id="findByCode" parameterType="String" resultType="Inspection">
SELECT
I1.CODE,I1.CLINICALLIST,I1.CREATETIME,S1.NAME AS docId,I2.NAME AS subName,I2.AGE AS subAGE,I2.GENDER AS subGENDER
FROM
INFO_INSPECTIONI1,SYS_USERS1,INFO_BASICI2
WHERE
I1.DOCID=S1.ID
AND
I1.CODE=#{code}
AND
I1.CODE=I2.CODE
</select>

四、注意返回的是:Inspection类,我们可以拉回上面看一下info_inspection中数据库的字段,发现根本没有NAMEAGEGENDER字段,那怎么获取呢?

    在Inspection类中添加成员属性,然后,添加它们的setget方法:

MySql三表联查(Spring+SpringMVC+MyBatis)

五、然后实例化service,测试能不能取到值。

MySql三表联查(Spring+SpringMVC+MyBatis)

查询结果为:

MySql三表联查(Spring+SpringMVC+MyBatis)