Selaa lähdekoodia

mybatis 参数获取 @Param方式等

zhang 2 vuotta sitten
vanhempi
commit
7da61df535

+ 5 - 0
mybatis_train/src/main/java/com/mapper/UserMapper.java

@@ -2,11 +2,16 @@ package com.mapper;
2 2
 
3 3
 import com.pojo.entity.UserEntity;
4 4
 import org.apache.ibatis.annotations.Mapper;
5
+import org.apache.ibatis.annotations.Param;
5 6
 
6 7
 import java.util.List;
8
+import java.util.Map;
7 9
 
8 10
 public interface UserMapper {
9 11
     List<UserEntity> findUserListByCondition(UserEntity userEntity);
10 12
     List<UserEntity> findUserForEach(List<Integer> users);
11 13
     void deleteOne(Integer id);
14
+    UserEntity findUserByParam(String name,Integer age);
15
+    UserEntity findUserByMap(Map<String,Object> map);
16
+    UserEntity findUserByAnnoParam(@Param("users") UserEntity userEntity);
12 17
 }

+ 12 - 0
mybatis_train/src/main/resources/com/mapper/UserMapper.xml

@@ -32,5 +32,17 @@
32 32
 <delete id="deleteOne" parameterType="integer">
33 33
     delete from user where id=#{id}
34 34
 </delete>
35
+    <select id="findUserByParam" resultType="user">
36
+        select *
37
+        from user where name = '${arg0}' and age = ${param2};
38
+    </select>
39
+    <select id="findUserByMap" resultType="user">
40
+        select *
41
+        from user where name = #{name}  and age = #{age};
42
+    </select>
43
+    <select id="findUserByAnnoParam" resultType="user">
44
+        select *
45
+        from user where name = #{param1.name}  and age = #{users.age};
46
+    </select>
35 47
 
36 48
 </mapper>

+ 44 - 0
mybatis_train/src/test/java/TestUserParam.java

@@ -0,0 +1,44 @@
1
+import com.mapper.UserMapper;
2
+import com.pojo.entity.UserEntity;
3
+import org.apache.ibatis.io.Resources;
4
+import org.apache.ibatis.session.SqlSession;
5
+import org.apache.ibatis.session.SqlSessionFactory;
6
+import org.apache.ibatis.session.SqlSessionFactoryBuilder;
7
+import org.junit.Before;
8
+import org.junit.Test;
9
+
10
+import java.io.IOException;
11
+import java.io.InputStream;
12
+import java.util.HashMap;
13
+
14
+public class TestUserParam {
15
+    UserMapper userMapper;
16
+    @Before
17
+    public void before() throws IOException {
18
+        InputStream resourceAsStream = Resources.getResourceAsStream("mybatisConfig.xml");
19
+        SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsStream);
20
+        SqlSession sqlSession = build.openSession();
21
+        userMapper = sqlSession.getMapper(UserMapper.class);
22
+    }
23
+    @Test
24
+    public void testParam() {
25
+        UserEntity name = userMapper.findUserByParam("难", 11);
26
+    }
27
+    @Test
28
+    public void testParamByMap() {
29
+        HashMap<String, Object> hashMap = new HashMap<>();
30
+        hashMap.put("name","name");
31
+        hashMap.put("age",11);
32
+        UserEntity name = userMapper.findUserByMap(hashMap);
33
+    }
34
+    /**
35
+     * 验证参数使用@Param
36
+     */
37
+    @Test
38
+    public void testAnnoParam() {
39
+        UserEntity userEntity = new UserEntity();
40
+        userEntity.setName("name");
41
+        userEntity.setAge(11);
42
+        UserEntity userByAnnoParam = userMapper.findUserByAnnoParam(userEntity);
43
+    }
44
+}