Skip to content

Commit 921b182

Browse files
committed
Merge pull request #686 from tjgykhulj/tjgykhulj-patch-1
Update MapperMethod.java
2 parents e2cdb39 + 42cead8 commit 921b182

File tree

1 file changed

+33
-24
lines changed

1 file changed

+33
-24
lines changed

src/main/java/org/apache/ibatis/binding/MapperMethod.java

Lines changed: 33 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -51,33 +51,42 @@ public MapperMethod(Class<?> mapperInterface, Method method, Configuration confi
5151

5252
public Object execute(SqlSession sqlSession, Object[] args) {
5353
Object result;
54-
if (SqlCommandType.INSERT == command.getType()) {
55-
Object param = method.convertArgsToSqlCommandParam(args);
56-
result = rowCountResult(sqlSession.insert(command.getName(), param));
57-
} else if (SqlCommandType.UPDATE == command.getType()) {
58-
Object param = method.convertArgsToSqlCommandParam(args);
59-
result = rowCountResult(sqlSession.update(command.getName(), param));
60-
} else if (SqlCommandType.DELETE == command.getType()) {
61-
Object param = method.convertArgsToSqlCommandParam(args);
62-
result = rowCountResult(sqlSession.delete(command.getName(), param));
63-
} else if (SqlCommandType.SELECT == command.getType()) {
64-
if (method.returnsVoid() && method.hasResultHandler()) {
65-
executeWithResultHandler(sqlSession, args);
66-
result = null;
67-
} else if (method.returnsMany()) {
68-
result = executeForMany(sqlSession, args);
69-
} else if (method.returnsMap()) {
70-
result = executeForMap(sqlSession, args);
71-
} else if (method.returnsCursor()) {
72-
result = executeForCursor(sqlSession, args);
73-
} else {
54+
switch (command.getType()) {
55+
case INSERT: {
56+
Object param = method.convertArgsToSqlCommandParam(args);
57+
result = rowCountResult(sqlSession.insert(command.getName(), param));
58+
break;
59+
}
60+
case UPDATE: {
61+
Object param = method.convertArgsToSqlCommandParam(args);
62+
result = rowCountResult(sqlSession.update(command.getName(), param));
63+
break;
64+
}
65+
case DELETE: {
7466
Object param = method.convertArgsToSqlCommandParam(args);
75-
result = sqlSession.selectOne(command.getName(), param);
67+
result = rowCountResult(sqlSession.delete(command.getName(), param));
68+
break;
7669
}
77-
} else if (SqlCommandType.FLUSH == command.getType()) {
70+
case SELECT:
71+
if (method.returnsVoid() && method.hasResultHandler()) {
72+
executeWithResultHandler(sqlSession, args);
73+
result = null;
74+
} else if (method.returnsMany()) {
75+
result = executeForMany(sqlSession, args);
76+
} else if (method.returnsMap()) {
77+
result = executeForMap(sqlSession, args);
78+
} else if (method.returnsCursor()) {
79+
result = executeForCursor(sqlSession, args);
80+
} else {
81+
Object param = method.convertArgsToSqlCommandParam(args);
82+
result = sqlSession.selectOne(command.getName(), param);
83+
}
84+
break;
85+
case FLUSH:
7886
result = sqlSession.flushStatements();
79-
} else {
80-
throw new BindingException("Unknown execution method for: " + command.getName());
87+
break;
88+
default:
89+
throw new BindingException("Unknown execution method for: " + command.getName());
8190
}
8291
if (result == null && method.getReturnType().isPrimitive() && !method.returnsVoid()) {
8392
throw new BindingException("Mapper method '" + command.getName()

0 commit comments

Comments
 (0)