普元EOS命名sql查询案例

本文介绍了一个使用MyBatis进行复杂SQL查询的例子,包括查询可加入岗位的人员列表及已在岗位的人员列表,并提供了相应的SQL映射配置。
<sqlMap>
<resultMap class="org.gocom.components.coframe.org.dataset.OrgEmployee" id="resultMap">
<result column="empid" property="empid"/>
<result column="userid" property="userid"/>
<result column="empcode" property="empcode"/>
<result column="empname" property="empname"/>
<result column="sortno" property="sortno"/>
</resultMap>
<!-- 查询可加入岗位的人员列表
参数为:positionid,userid,empname用于过滤用户
-->
<select id="selectEmpAllowAdd" resultMap="resultMap" parameterClass="java.util.HashMap">
SELECT E.EMPID,E.USERID,E.EMPCODE,E.EMPNAME,E.SORTNO FROM ORG_EMPLOYEE E,ORG_EMPORG O,ORG_POSITION P
WHERE E.EMPID = O.EMPID AND O.ORGID=P.ORGID AND P.POSITIONID =#positionid#
AND E.EMPID NOT IN (SELECT EMPID FROM ORG_EMPPOSITION WHERE POSITIONID =#positionid#)
<isNotNull prepend="AND" property="userid">
USERID LIKE #userid#
</isNotNull>
<isNotNull prepend="AND" property="empname">
EMPNAME LIKE #empname#
</isNotNull>
</select>
<select id="countEmpAllowAdd" resultClass="java.lang.Integer" parameterClass="java.util.HashMap">
SELECT COUNT(E.EMPID) FROM ORG_EMPLOYEE E,ORG_EMPORG O,ORG_POSITION P
WHERE E.EMPID = O.EMPID AND O.ORGID=P.ORGID AND P.POSITIONID =#positionid#
AND E.EMPID NOT IN (SELECT EMPID FROM ORG_EMPPOSITION WHERE POSITIONID =#positionid#)
<isNotNull prepend="AND" property="userid">
USERID LIKE #userid#
</isNotNull>
<isNotNull prepend="AND" property="empname">
EMPNAME LIKE #empname#
</isNotNull>
</select>
<!-- 查询已在岗位的人员列表
参数为:positionid,userid,empname用于过滤用户
-->
<select id="selectEmpInPosition" resultMap="resultMap" parameterClass="java.util.HashMap">
SELECT E.EMPID,E.USERID,E.EMPCODE,E.EMPNAME,E.SORTNO
FROM ORG_EMPLOYEE E ,ORG_EMPPOSITION P
WHERE E.EMPID=P.EMPID AND P.POSITIONID =#positionid#
<isNotNull prepend="AND" property="userid">
USERID LIKE '%$userid$%'
</isNotNull>
<isNotNull prepend="AND" property="empname">
EMPNAME LIKE '%$empname$%'
</isNotNull>
ORDER BY E.SORTNO
</select>
<select id="countEmpInPosition" resultClass="java.lang.Integer" parameterClass="java.util.HashMap">
SELECT COUNT(E.EMPID) FROM ORG_EMPLOYEE E ,ORG_EMPPOSITION P
WHERE E.EMPID=P.EMPID AND P.POSITIONID =#positionid#
<isNotNull prepend="AND" property="userid">
USERID LIKE #userid#
</isNotNull>
<isNotNull prepend="AND" property="empname">
EMPNAME LIKE #empname#
</isNotNull>
</select>
</sqlMap>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值