【问题标题】:iBatis SubqueryiBatis 子查询
【发布时间】:2017-02-02 19:45:43
【问题描述】:

我是 iBatis 的新手,我正在尝试实现一个非常简单的子查询,但它似乎不起作用。这是我的查询:

<select id="GetData" parameterType="java.util.Map"
            resultMap="DataMap">
        SELECT * FROM schema.table1 WHERE id = (SELECT someid FROM schema.table2 WHERE id=#{parameterid});
 </select>

我的 iBatis DAO 方法如下所示:

public Data get(Long parameterid)
{
    Map<String, Object> params = new HashMap<String, Object>();
    params.put("parameterid", parameterid);
    return getSqlSession().selectOne("GetData", params);
}

感谢您的任何建议!

【问题讨论】:

  • 你遇到了什么错误?
  • “但它似乎不起作用”是没有意义的。有错误信息吗?向我们展示包括堆栈跟踪在内的整个错误消息。它是什么样的数据库?您是否直接在数据库中尝试了相同的查询?
  • 使用 postgres 9.5 数据库,我没有看到任何错误...我正在使用调试器并看到它在我的查询点失败。
  • (使用 Oracle) 有时,我们的一位开发人员会将 Oracle SQL 开发人员的内容粘贴到 eclipse 中(例如),并附带一个尾随分号。通过 JDBC 运行时,您将收到 SQL 语法错误。尝试从 SQL 中删除分号。另外,请参阅:stackoverflow.com/questions/11855799/…

标签: java sql subquery dao ibatis


【解决方案1】:

问题最终不在于我的查询...这是我在 xml 中的映射定义。应该是大写的小写问题。

【讨论】:

    猜你喜欢
    • 2011-12-02
    • 2011-03-08
    • 2011-04-21
    • 1970-01-01
    • 1970-01-01
    • 2014-03-18
    • 1970-01-01
    • 2013-06-24
    • 1970-01-01
    相关资源
    最近更新 更多