MyBatis – lists of primitive types

mybatis

This seems to have eluded me. I know I can use a map to return a vanilla set of rows from a myBatis query but how to do it with a list of primitive types?

e.g. If I had SQL like:

select product_price from products

Does this require a resultMap? I've tried to use java.util.ArrayList as the result type but get class not found errors.

In a similar vein, how do I pass a list of items as an argument to a query.

Any input, pointers to docs appreciated.

Best Answer

Just declare the resultType as the primitive type that you want, which in your case is a Long. It will be returned as a list.

<select id="getPrice" resultType="java.lang.Long">
  select product_price from products
</select>

In the mapper interface you should expect to get back a list of Long.

List<Long> getPrice();
Related Topic