2012-02-14 38 views
8

Trong myBatis 3, làm thế nào để bạn so sánh một chuỗi khi sử dụng sql động?Cách so sánh các chuỗi trong mybatis 3 với câu lệnh if - dynamic sql

Với iBatis trước đó bạn có thể làm như sau:

 <isEqual property="sortBy" compareValue="portfolio_id">order by p.portfolio_id</isEqual> 

Bây giờ với myBatis có thể giúp bạn thực hiện như sau:

 <if test="sortBy.equals('facility_id')"> 
      order by pd.facility_id 
     </if> 

SortBy là một tài sản trong bản đồ tham số và "facility_id" là giá trị

Tôi hơi bối rối vì nó thẳng về phía trước trong ibatis.

Trả lời

7

Tất cả bạn phải làm là

<if test="sortBy == 'facility_id' "> 
    order by pd.facility_id 
</if> 
+1

lý do tại sao trong tất cả các ví dụ luôn có jpganz18

+0

@ jpganz18: 'test' là thuộc tính của phần tử' if' đang vượt qua điều kiện của phép thử. Xem hướng dẫn XML, ví dụ: ở đây: https://www.w3schools.com/xml –