gpt4 book ai didi

java - ibatis和java中如何处理多个表的sql映射

转载 作者:行者123 更新时间:2023-11-30 07:35:34 25 4
gpt4 key购买 nike

我正在尝试将 Ibatis 与 GWT 结合使用,我遇到了这种情况,我有数据库表 Airport、Terminals 和 Flights。一个机场可以有不同的航站楼。一个航站楼可以有一个机场和多个航类。一个航类可以有一个航站楼。所以表结构看起来是这样的。

机场-ID-姓名-terminal_id

终端-ID-姓名-航类号

航类-ID-航空公司-terminal_id

我的选择语句是这样的

SELECT airport.name AS Airport,
terminals.name AS Terminal,
flights.airline,
FROM airport,
terminals,
flights
WHERE airport.terminal_id = terminals.id
AND terminals.flight_id = flights.id;

得到这个结果的 sql 映射是什么样的。我感到困惑的地方是结果集是表的组合,因此结果集不是三个表中任何一个的模型对象。

最佳答案

创建一个自定义值对象 (vo) 以满足您的需要。

<sqlMap namespace="Arrival">
<resultMap id="Arrival" class="com.flight.vo.Arrival">
<result property="airport" column="Airport" />
<result property="terminal" column="Terminal" />
<result property="airline" column="airline"/>
</resultMap>

<select id="retrieveAllArrivals" resultMap="Arrival.Arrival" >
select airport.name as Airport, terminals.name as Terminal, flights.airline
FROM airport, terminals, flights
WHERE airport.terminal_id = terminals.id
AND terminals.flight_id = flights.id
</select>
</sqlMap>

关于java - ibatis和java中如何处理多个表的sql映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4363808/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com