MyBatis3一个查询DAO的实现
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
/**
* 订单查询(用于订单列表展示用)
*/
public
List<Ord> queryOrd(String ordno, String custno,
int
startRow,
int
rowSize, Ord.St... stArr) {
Map<String, Object> map = params4queryOrd(ordno, custno, stArr);
return
getSqlSession().selectList(sqlmapNamespace +
"."
+
"queryOrd"
, map,
new
RowBounds(startRow, rowSize));
}
public
int
countOrd(String ordno, String custno, Ord.St... stArr) {
Map<String, Object> map = params4queryOrd(ordno, custno, stArr);
return
getSqlSession().selectOne(sqlmapNamespace +
"."
+
"countOrd"
, map);
}
private
Map<String, Object> params4queryOrd(String ordno, String custno, Ord.St... stArr) {
Map<String, Object> map =
new
HashMap<>(
3
);
if
(ordno !=
null
) map.put(
"ordno"
, ordno);
if
(custno !=
null
) map.put(
"custno"
, custno);
if
(stArr !=
null
&& stArr.length >
0
) {
int
[] arr =
new
int
[stArr.length];
for
(
int
i =
0
; i < stArr.length; i++) {
arr[i] = stArr[i].key;
}
map.put(
"stArr"
, arr);
}
return
map;
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
<!-- 订单查询(用于订单列表展示用) -->
<
select
id
=
"queryOrd"
parameterType
=
"map"
resultMap
=
"rs_ord"
>
select * from ord
<
include
refid
=
"sql_queryOrd_where"
/>
</
select
>
<
select
id
=
"countOrd"
parameterType
=
"map"
resultType
=
"int"
>
select count(1) from ord
<
include
refid
=
"sql_queryOrd_where"
/>
</
select
>
<
sql
id
=
"sql_queryOrd_where"
>
<
where
>
<
if
test
=
"ordno!=null and ordno!=''"
>and ordno=#{ordno}</
if
>
<
if
test
=
"custno!=null and custno!=''"
>and custno=#{custno}</
if
>
<
if
test
=
"stArr!=null"
>
state in
<
foreach
item
=
"st"
index
=
"index"
collection
=
"stArr"
open
=
"("
separator
=
","
close
=
")"
>
#{st}
</
foreach
>
</
if
>
</
where
>
</
sql
>
|
本文转自 leizhimin 51CTO博客,原文链接:http://blog.51cto.com/lavasoft/1854134,如需转载请自行联系原作者