2015-02-09 16 views
5

Tôi đã tìm thấy một số ví dụ về cách kết nối một ResultHandler tùy chỉnh với Truy vấn MyBatis:Cách kết nối một ResultHandler trong MyBatis Mapper XML

ví dụ: https://code.google.com/p/mybatis/wiki/ResultHandlerExample

Thật không may ResultHandler được đưa ra trong ví dụ này không bao giờ được gọi. (Theo nhận xét cuối cùng đã tuyên bố)

Vì vậy, tôi đã tìm kiếm một giải pháp và phát hiện này: MyBatis - ResultHandler is not invoked

Nhưng điều này không hoàn toàn phù hợp cho vấn đề của tôi kể từ khi tôi đang sử dụng MyBatis xml kiểu cách chứ không phải là Cách tạo kiểu API. Vì vậy, trong trường hợp của tôi, tôi không có

SqlSession session = MyBatisConnectionFactory.getSqlSessionFactory().openSession(true); 

Có cách nào để kết nối điều khiển tùy chỉnh của tôi trong file xml, ví dụ như <resultMap /> oder <select /> nút?

Trả lời

7

Bạn có thể xác định phương pháp với ResultHandler trong mapper của bạn:

public interface YourMapper { 
    void getObjects(@Param("param1") Object param1, ResultHandler handler); 
} 

Sau đó, bạn có thể sử dụng nó:

List<Object> getObjects(object param1) { 
    YourResultHandler resultHandler = new YourResultHandler(); 
    yourMapper.getObjects(param1, resultHandler); 
    return resultHandler.getResults(); 
} 
+0

Như tôi đã viết ở trên tôi đang tìm kiếm làm thế nào để sử dụng một ResultMapper tùy chỉnh trong XML-way, không phải theo cách javacode –

+2

Bạn đã hỏi cách sử dụng ResultHandler - câu trả lời này là chính xác. – Larry

Các vấn đề liên quan