要启动查询,请使用:
org.apache.ibatis.session.SqlSession.seleteList("myquery");
myquery本身是在XML配置文件中定义的。
使用Spring JDBC作为查询语句是使用类本身定义的,很容易找到与给定方法调用关联的查询。但是一旦我到达查询调用mybatis,我必须搜索参数(在这种情况下" myquery")以发现实际查询的定义位置。
是否有更简单的方法来查找与方法调用关联的查询,而不是手动搜索引用?我认为没有,因为查询本身在XML文件中而不是.java文件,IDE维护着一个"链接"文件之间的方法,常量等。
答案 0 :(得分:1)
有两种方法可以做到,但您需要使用mapper interfaces。
第一种方法是使用IDE插件。 IntelliJ有几个插件,eclipse有一些插件。 IntelliJ的插件说它有
代理接口支持,“Go to Implementaion”直接跳转到 mapper 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);