查找关联的mybatis查询



启动一个查询,我使用:

org.apache.ibatis.session.SqlSession.seleteList("myquery");

myquery本身是在XML配置文件中定义的。

使用Spring JDBC作为类本身定义的查询语句,很容易找到与给定方法调用相关的查询。但是对于mybatis,一旦我到达查询调用,我就必须搜索参数(在本例中为"myquery")以发现实际查询的定义位置。

是否有一种更容易的方法来查找与方法调用相关的查询,而不是手动搜索引用?我认为没有,因为查询本身是一个XML文件,而不是一个。java文件和IDE维护的方法,常量等文件之间的"链接"。

有两种方法可以做到这一点,但您需要使用映射器接口。

第一种方法是使用IDE插件。有几个IntelliJ插件和一些eclipse插件。IntelliJ插件说它有

代理接口支持,"转到实现"直接进入映射xml

另一种方法是使用注释定义查询。在这种情况下,查询将直接在java文件中。

在mapper接口中定义查询

interface MyMapper {
     @Select("Select * from myentity where id = #id")
     MyEntity selectMyEntity(@Param("id") Long id);
}

然后像通常那样使用mapper:

MyMapper mapper = session.getMapper(MyMapper.class);
MyEntity myEntity = mapper.selectMyEntity(101);

最新更新