什么是session.selectOne(String arg0,Objectarg1);?

时间:2014-07-07 09:19:38

标签: java mybatis ibatis

我是MyBatis的新手,我无法找到要学习的教程,现在我将开始使用Spring在MyBatis上工作,我曾使用session.selectOne(String arg0, Object arg1)但我无法理解它是如何工作的以及什么它将使用第二个参数,即Object arg1。

任何人都可以提供帮助。 谢谢

1 个答案:

答案 0 :(得分:0)

selectOneselectList的第二个参数是参数。如果您的查询中有非常简单的需求,例如单个整数,或者需要插入许多值的更复杂查询, bean类实例,它可以是原语根据需要填充值(并包含正确的 getters setters )。

映射器文件中,然后通过参数属性定义参数的类型,然后可以内联或使用转义进行插值(前者用于应该的内容永远不会被转义,例如变量表或列名,后者应该总是被转义,例如WHERE子句中的值。

有关详细信息,请参阅MyBatis文档: http://mybatis.github.io/mybatis-3/java-api.html

对OP评论的回应:

MapBuilder必须是与Map数据结构相关的自定义代码。作为 Guava 的一部分有一个ImmutableMap.Builder,但这似乎不是这样的。我认为这与 Mybatis 本身无关。

看起来代码只是构建一个Map对象,然后将其传递给selectOne查询,以便在映射器中的查询定义中使用(而不是自定义) bean 类)。

映射器中 LoginMapper.getUserByUsername 的定义是什么?在该定义中,地图对象的内容可能被插入到查询中,因此可以包含动态值。