46 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			XML
		
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			XML
		
	
	
<?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="example.dao.OrdersDao">
 | 
						||
 | 
						||
    <!-- 查询结果列 -->
 | 
						||
    <sql id="base_columns">
 | 
						||
        orders.id,
 | 
						||
        orders.order_number,
 | 
						||
        orders.status,
 | 
						||
        orders.create_time,
 | 
						||
        orders.updateInfo.operatorName,
 | 
						||
        orders.updateInfo.operateTime
 | 
						||
        <!-- 其他列... -->
 | 
						||
    </sql>
 | 
						||
 | 
						||
    <!-- 分页查询 -->
 | 
						||
    <select id="queryPage" resultType="example.domain.vo.OrderVO">
 | 
						||
        SELECT
 | 
						||
        <include refid="base_columns"/>
 | 
						||
        FROM orders
 | 
						||
        <where>
 | 
						||
            <!-- 其他查询条件... -->
 | 
						||
            
 | 
						||
            <!-- 用户过滤条件:如果是admin则不过滤,否则只显示当前操作员的数据 -->
 | 
						||
            AND (orders.updateInfo.operatorName=#{SESSION_USERS} or orders.updateInfo.operatorName='admin')
 | 
						||
        </where>
 | 
						||
        ORDER BY orders.create_time DESC
 | 
						||
    </select>
 | 
						||
 | 
						||
    <!-- 另一种实现方式,使用动态SQL更灵活控制 -->
 | 
						||
    <select id="queryPageAlt" resultType="example.domain.vo.OrderVO">
 | 
						||
        SELECT
 | 
						||
        <include refid="base_columns"/>
 | 
						||
        FROM orders
 | 
						||
        <where>
 | 
						||
            <!-- 其他查询条件... -->
 | 
						||
            
 | 
						||
            <!-- 当前操作员为admin时不添加过滤条件,否则只显示当前操作员的数据 -->
 | 
						||
            <if test="SESSION_USERS != 'admin'">
 | 
						||
                AND orders.updateInfo.operatorName=#{SESSION_USERS}
 | 
						||
            </if>
 | 
						||
        </where>
 | 
						||
        ORDER BY orders.create_time DESC
 | 
						||
    </select>
 | 
						||
 | 
						||
</mapper>  |