1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.ibatis.submitted.results_id;
17
18 import org.apache.ibatis.annotations.Arg;
19 import org.apache.ibatis.annotations.ConstructorArgs;
20 import org.apache.ibatis.annotations.Result;
21 import org.apache.ibatis.annotations.ResultMap;
22 import org.apache.ibatis.annotations.Results;
23 import org.apache.ibatis.annotations.Select;
24
25 public interface Mapper {
26
27 @Results(id = "userResult", value = {
28 @Result(id = true, column = "uid", property = "id"),
29 @Result(column = "name", property = "name")
30 })
31 @Select("select * from users where uid = #{id}")
32 User getUserById(Integer id);
33
34 @ResultMap("userResult")
35 @Select("select * from users where name = #{name}")
36 User getUserByName(String name);
37
38 @Results(id = "userResultConstructor")
39 @ConstructorArgs({
40 @Arg(id = true, column = "uid", javaType = Integer.class),
41 @Arg(column = "name", javaType = String.class)
42 })
43 @Select("select * from users where uid = #{id}")
44 User getUserByIdConstructor(Integer id);
45
46 @ResultMap("userResultConstructor")
47 @Select("select * from users where name = #{name}")
48 User getUserByNameConstructor(String name);
49 }