一、Mapper XML 映射文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<
mapper
namespace
=
"com.liu.mapper.UserInfoMapper"
>
<!-- property对应实体类属性 column 对应着数据库字段 -->
<
resultMap
type
=
"UserInfo"
id
=
"userMap"
>
<
result
property
=
"userId"
column
=
"user_id"
></
result
>
<
result
property
=
"userName"
column
=
"user_name"
></
result
>
<
result
property
=
"userSex"
column
=
"user_sex"
></
result
>
</
resultMap
>
<
select
id
=
"selectUser"
parameterType
=
"UserInfo"
resultMap
=
"userMap"
>
select * from user_info where 1=1
<
if
test
=
"userId!=null"
>
and user_id =#{userId}
</
if
>
<
if
test
=
"userName!=null and userName!=''"
>
and user_name like #{userName}
</
if
>
<
if
test
=
"userSex!=null and userSex!=''"
>
and user_sex = #{userSex}
</
if
>
</
select
>
<
select
id
=
"selectUser2"
parameterType
=
"UserInfo"
resultMap
=
"userMap"
>
select * from user_info where 1=1
<
choose
>
<
when
test
=
"userId!=null"
>
and user_id =#{userId}
</
when
>
<
when
test
=
"userName!=null and userName!=''"
>
and user_name like #{userName}
</
when
>
<
otherwise
>
and user_sex = #{userSex}
</
otherwise
>
</
choose
>
</
select
>
<
select
id
=
"selectUser3"
parameterType
=
"UserInfo"
resultMap
=
"userMap"
>
select * from user_info
<
where
>
<
if
test
=
"userId!=null"
>
and user_id =#{userId}
</
if
>
<
if
test
=
"userName!=null and userName!=''"
>
and user_name like #{userName}
</
if
>
<
if
test
=
"userSex!=null and userSex!=''"
>
and user_sex = #{userSex}
</
if
>
</
where
>
</
select
>
<
select
id
=
"selectUser4"
parameterType
=
"UserInfo"
resultMap
=
"userMap"
>
select * from user_info
<
trim
prefix
=
"where"
prefixOverrides
=
"and|or"
>
<
if
test
=
"userId!=null"
>
and user_id =#{userId}
</
if
>
<
if
test
=
"userName!=null and userName!=''"
>
and user_name like #{userName}
</
if
>
<
if
test
=
"userSex!=null and userSex!=''"
>
and user_sex = #{userSex}
</
if
>
</
trim
>
</
select
>
<
update
id
=
"updateUser"
parameterType
=
"UserInfo"
>
update user_info
<
set
>
<
if
test
=
"userName!=null and userName!=''"
>
user_name=#{userName},
</
if
>
<
if
test
=
"userSex!=null and userSex!=''"
>
user_sex=#{userSex},
</
if
>
</
set
>
where user_id=#{userId}
</
update
>
<
select
id
=
"selectUser5"
parameterType
=
"UserInfo"
resultMap
=
"userMap"
>
select * from user_info where user_id in
<
foreach
collection
=
"userIds"
item
=
"item"
open
=
"("
separator
=
","
close
=
")"
>
#{item}
</
foreach
>
</
select
>
</
mapper
>
|
二、Mapper接口
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
package
com.liu.mapper;
import
java.util.HashMap;
import
java.util.List;
import
org.apache.ibatis.annotations.Delete;
import
org.apache.ibatis.annotations.Insert;
import
org.apache.ibatis.annotations.Param;
import
org.apache.ibatis.annotations.Result;
import
org.apache.ibatis.annotations.Results;
import
org.apache.ibatis.annotations.Select;
import
org.apache.ibatis.annotations.Update;
import
com.liu.po.UserInfo;
public
interface
UserInfoMapper {
public
List<UserInfo> selectUser(UserInfo user);
public
List<UserInfo> selectUser2(UserInfo user);
public
List<UserInfo> selectUser3(UserInfo user);
public
List<UserInfo> selectUser4(UserInfo user);
public
List<UserInfo> selectUser5(UserInfo user);
public
int
updateUser(UserInfo user);
}
|
二、测试类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
package
com.liu;
import
java.util.ArrayList;
import
java.util.List;
import
org.apache.ibatis.session.SqlSession;
import
org.junit.After;
import
org.junit.Before;
import
org.junit.Test;
import
com.liu.mapper.UserInfoMapper;
import
com.liu.po.UserInfo;
import
com.liu.utils.DBFactory;
public
class
UserTest {
SqlSession session =
null
;
UserInfoMapper mapper =
null
;
@Before
public
void
testBefore() {
session = DBFactory.getSession();
mapper = session.getMapper(UserInfoMapper.
class
);
}
@After
public
void
testAfter() {
session.close();
}
@Test
public
void
selectUser(){
UserInfo user =
new
UserInfo();
user.setUserId(
4
);
user.setUserName(
"%他爸%"
);
user.setUserSex(
"男"
);
List<UserInfo> list = mapper.selectUser(user);
for
(UserInfo u:list){
System.out.println(u);
}
}
@Test
public
void
selectUser2(){
UserInfo user =
new
UserInfo();
//user.setUserId(4);
//user.setUserName("%他爸%");
//user.setUserSex("男");
List<UserInfo> list = mapper.selectUser2(user);
for
(UserInfo u:list){
System.out.println(u);
}
}
@Test
public
void
selectUser3(){
UserInfo user =
new
UserInfo();
user.setUserId(
4
);
user.setUserName(
"%他爸%"
);
user.setUserSex(
"男"
);
List<UserInfo> list = mapper.selectUser3(user);
for
(UserInfo u:list){
System.out.println(u);
}
}
@Test
public
void
selectUser4(){
UserInfo user =
new
UserInfo();
//user.setUserId(4);
//user.setUserName("%他爸%");
user.setUserSex(
"男"
);
List<UserInfo> list = mapper.selectUser4(user);
for
(UserInfo u:list){
System.out.println(u);
}
}
@Test
public
void
selectUser5(){
UserInfo user =
new
UserInfo();
List<Integer> plist =
new
ArrayList<Integer>();
plist.add(
2
);
plist.add(
4
);
user.setUserIds(plist);
List<UserInfo> list = mapper.selectUser5(user);
for
(UserInfo u:list){
System.out.println(u);
}
}
@Test
public
void
updateUser(){
UserInfo user =
new
UserInfo();
user.setUserId(
4
);
user.setUserName(
"孩子她妈"
);
user.setUserSex(
"男"
);
int
count = mapper.updateUser(user);
session.commit();
System.out.println(count);
}
}
|
本文转自 l363130002 51CTO博客,原文链接:http://blog.51cto.com/liuyj/1609913