Slide 22
Slide 22 text
© ZOZO, Inc.
技術選定(MyBatis)
22
● 平均レイテンシ:149ms
● コード量:Repository層としての量は少ないが、XMLにストアドプロシージャ呼び出し用の定義を書くため、全体とし
てはあまり少なくならない
List> resultSet
= procedureMapper.executeSampleProcedure(id.value(),name);
// 1つ目のResultSetを取得
List firstResultObjects = (List) resultSet.get(0);
List firstResults = new ArrayList<>();
for (Object obj: firstResultObjects) {
FirstResult firstResult = (FirstResult) obj;
firstResults.add(new FirstResult(
new Id(firstResult.getId())),
new Name(firstResult.getName());
}
// 2つ目のResultSetを取得
List secondResultObjects = (List) resultSet.get(1);
List secondResults = new ArrayList<>();
for (Object obj: secondResultObjects) {
SecondResult secondResult = (SecondResult) obj;
secondResults.add(new SecondResult(
new ItemId(secondResult.getItemId())),
new ItemName(secondResult.getItemName());
}
{call SampleProcedure(#{id,jdbcType=BIGINT,mode=IN},
#{name,jdbcType=VARCHAR,mode=OUT})}