1

タイトルが示すように、注釈だけで複数の結果セットをマップしようとしています。私のシナリオは次のとおりです。

Proc_Aこれらのモデルの 3 つの結果セットを返します

org.example.models.ModelA = as Single Result
org.example.models.ModelB = as List<>
org.example.models.ModelC = as List<>

XML と @Annotation メソッドをそのように実行できることはわかっています。

//ExampleMapper.java
public interface ExampleMapper {
  @Select("EXEC Proc_A #{userID}")
  @ResultMap("getModelA","getModelB","getModelC")
  @Options(statementType = StatementType.CALLABLE)
  List<List<?>> executeProcA(@Param("userID") Integer userID)
}

そしてXml

//ExampleMapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="org.example.mybatis.ExampleMapper" >
    <!-- Result Maps for Proc_A -->
    <resultMap id="getModelA" type="org.example.models.ModelA" />
    <resultMap id="getModelB" type="org.example.models.ModelB" />
    <resultMap id="getModelC" type="org.example.models.ModelC" />
</mapper>

これはほとんどの場合うまくいきますが、注釈だけでこれを行う方法があることを知りたいです

アップデート

私は見つけましたが@Results、ドキュメントはそれが1つの結果セット用であることを暗示しています。しかし、私は、多くのインジケーターが、それらが役立つかどうかを確認するための使用に関するドキュメントをまだ見つけていないことに気付きました.@Result@Results@Result

前もって感謝します

4

0 に答える 0