1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.ibatis.submitted.default_method;
17
18 import org.apache.ibatis.annotations.Param;
19 import org.apache.ibatis.annotations.Select;
20
21 public interface Mapper {
22
23 @Select("select * from users where id = #{id}")
24 User getUserById(Integer id);
25
26 @Select("select * from users where id = #{id} and name = #{name}")
27 User getUserByIdAndName(@Param("name") String name, @Param("id") Integer id);
28
29 default User defaultGetUser(Object... args) {
30 return getUserById((Integer) args[0]);
31 }
32
33 interface SubMapper extends Mapper {
34 @Override
35 default User defaultGetUser(Object... args) {
36 return getUserByIdAndName((String) args[0], (Integer) args[1]);
37 }
38 }
39
40 }