mybatis 之 parameterType="List" 2

时间:2022-09-03 15:38:04
<select id="queryGoodsByGoodsNoPcweb" parameterType="List" resultMap="simpleProductExtLucene">
        select g.goods_no,
            wp.PRODUCT_ID, p.product_name, p.drug_treatment, p.drug_prescription_type,
            p.product_least_order || '' as "product_least_order", p.order_limit_amount || '' as "order_limit_amount",
            wg.goods_id, g.goods_name,
            g.market_price || '' as "market_price",
            g.sale_amount, g.click_amount, nvl(g.available_stock,) || '' as "available_stock",
            pc.pro_catalog_id || '' as "pro_catalog_id", pi.pro_image_url, tag.tag_id || '' as "tag_id",
            tag.tag_icon_url,
            <![CDATA[
                (case when exists (
                        select 1
                            from ec_promote_rule_goods_new npg
                            right join ec_promote_rule_new np on npg.promote_rule_id = np.promote_rule_id
                        where npg.goods_id = wg.goods_id
                            and np.promote_client = 'wap'
                            and np.is_enable = 'Y'
                            and to_char(sysdate, 'yyyy-mm-dd hh24:mi:dd') between np.begin_time and np.end_time
                    )
                 then 'Y' else 'N' end) as MOBILE_SPECIAL,
            ]]>
            pc.full_index,
            to_number(case
                when wg.discount_state = 'enable'
                     <!-- and wg.member_ranks = '0'  -->
                     and to_char(sysdate, 'yyyy-mm-dd hh24:mi:dd') between wg.begin_time and wg.end_time
                     and wg.discount_price is not null 

                then
                    wg.discount_price
                when g.discount_state = 'enable'
                     <!-- and g.member_ranks = '0'  -->
                     and to_char(sysdate, 'yyyy-mm-dd hh24:mi:dd') between g.begin_time and g.end_time
                     and g.discount_price is not null 

                then
                    g.discount_price
                else
                    g.ec_price
            end) || ' ' as ec_price,
            (case
                when wg.discount_state = 'enable'
                    and to_char(sysdate, 'yyyy-mm-dd hh24:mi:dd') between wg.begin_time
                    and wg.end_time
                then
                    wg.promote_phrase
                when g.discount_state = 'enable'
                    and to_char(sysdate, 'yyyy-mm-dd hh24:mi:dd') between g.begin_time
                    and g.end_time
                then
                    g.promote_phrase
                else
                    ''
            end) as promote_phrase, pc.pro_catalog_name, wp.product_keyword, wp.PRODUCT_CHN_NO,
            pb.product_brand_name, nvl(wp.product_order,) product_order
        from product wp
            left join product p on p.product_id = wp.product_id and p.is_delete = 'N'
            left join goods wg on wp.product_id = wg.product_id and wg.is_delete = 'N' and wg.is_default = 'Y'
            left join goods g on g.goods_id = wg.goods_id and g.is_delete = 'N' and g.is_default = 'Y'
            left join product_catalog pc on pc.pro_catalog_id = wp.pro_catalog_id and pc.is_delete = 'N'
            left join product_brand pb on pb.product_brand_id = wp.product_brand_id and pb.is_delete = 'N'
            left join (
                        select min(pt.tag_id) as tag_id,
                            min(ptd.goods_id) as goods_id,
                            min(pt.tag_icon_url) as tag_icon_url
                        from product_tag_def ptd, product_tag pt
                        where ptd.tag_id = pt.tag_id
                            and pt.is_delete = 'N'
                            and pt.tag_type = 'icon'
                        group by ptd.goods_id
                    ) tag on tag.goods_id = wg.goods_id
            left join (
                        select pig.product_id as product_id,
                            min(pig.image_order),
                            min(pig.pro_image_url) as
                            pro_image_url
                        from wap_product_img pig
                        where pig.image_type = 'small'
                        group by pig.product_id) pi on wp.product_id = pi.product_id
        where wp.is_delete = 'N'
            and p.is_onsale = 'Y'
            and wg.is_delete = 'N'
            and wg.is_default = 'Y'
            and wp.pro_catalog_id is not null
            and wp.product_code NOT like 'AJ%'
            and g.goods_no in
            <foreach collection="list" item="listItem" index="index"
                open="(" separator="," close=")" >
                #{listItem,jdbcType=VARCHAR}
            </foreach>
    </select>
<select id="queryGoodsByGoodsNoMobile" parameterType="List" resultMap="simpleProductExtLucene">
        select g.goods_no,
            wp.PRODUCT_ID, p.product_name, p.drug_treatment, p.drug_prescription_type,
            p.product_least_order || '' as "product_least_order", p.order_limit_amount || '' as "order_limit_amount",
            wg.goods_id, g.goods_name,
            g.market_price || '' as "market_price",
            g.sale_amount, g.click_amount, nvl(g.available_stock,) || '' as "available_stock",
            pc.pro_catalog_id || '' as "pro_catalog_id", pi.pro_image_url, tag.tag_id || '' as "tag_id",
            tag.tag_icon_url,
            <![CDATA[
                (case when exists (
                        select 1
                            from ec_promote_rule_goods_new npg
                            right join ec_promote_rule_new np on npg.promote_rule_id = np.promote_rule_id
                        where npg.goods_id = wg.goods_id
                            and np.promote_client = 'wap'
                            and np.is_enable = 'Y'
                            and to_char(sysdate, 'yyyy-mm-dd hh24:mi:dd') between np.begin_time and np.end_time
                    )
                 then 'Y' else 'N' end) as MOBILE_SPECIAL,
            ]]>
            pc.full_index,
            to_number(case
                when wg.discount_state = 'enable'
                     <!-- and wg.member_ranks = '0'  -->
                     and to_char(sysdate, 'yyyy-mm-dd hh24:mi:dd') between wg.begin_time and wg.end_time
                     and wg.discount_price is not null 

                then
                    wg.discount_price
                when g.discount_state = 'enable'
                     <!-- and g.member_ranks = '0'  -->
                     and to_char(sysdate, 'yyyy-mm-dd hh24:mi:dd') between g.begin_time and g.end_time
                     and g.discount_price is not null 

                then
                    g.discount_price
                else
                    g.ec_price
            end) || ' ' as ec_price,
            (case
                when wg.discount_state = 'enable'
                    and to_char(sysdate, 'yyyy-mm-dd hh24:mi:dd') between wg.begin_time
                    and wg.end_time
                then
                    wg.promote_phrase
                when g.discount_state = 'enable'
                    and to_char(sysdate, 'yyyy-mm-dd hh24:mi:dd') between g.begin_time
                    and g.end_time
                then
                    g.promote_phrase
                else
                    ''
            end) as promote_phrase, pc.pro_catalog_name, wp.product_keyword, wp.PRODUCT_CHN_NO,
            pb.product_brand_name, nvl(wp.product_order,) product_order
        from wap_product wp
            left join product p on p.product_id = wp.product_id and p.is_delete = 'N'
            left join wap_goods wg on wp.product_id = wg.product_id and wg.is_delete = 'N' and wg.is_default = 'Y'
            left join goods g on g.goods_id = wg.goods_id and g.is_delete = 'N' and g.is_default = 'Y'
            left join product_catalog pc on pc.pro_catalog_id = wp.pro_catalog_id and pc.is_delete = 'N'
            left join product_brand pb on pb.product_brand_id = wp.product_brand_id and pb.is_delete = 'N'
            left join (
                        select min(pt.tag_id) as tag_id,
                            min(ptd.goods_id) as goods_id,
                            min(pt.tag_icon_url) as tag_icon_url
                        from product_tag_def ptd, product_tag pt
                        where ptd.tag_id = pt.tag_id
                            and pt.is_delete = 'N'
                            and pt.tag_type = 'icon'
                        group by ptd.goods_id
                    ) tag on tag.goods_id = wg.goods_id
            left join (
                        select pig.product_id as product_id,
                            min(pig.image_order),
                            min(pig.pro_image_url) as
                            pro_image_url
                        from wap_product_img pig
                        where pig.image_type = 'small'
                        group by pig.product_id) pi on wp.product_id = pi.product_id
        where wp.is_delete = 'N'
            and p.is_onsale = 'Y'
            and wg.is_delete = 'N'
            and wg.is_default = 'Y'
            and wp.pro_catalog_id is not null
            and wp.product_code NOT like 'AJ%'
            and g.goods_no in
            <foreach collection="list" item="listItem" index="index"
                open="(" separator="," close=")" >
                #{listItem,jdbcType=VARCHAR}
            </foreach>
    </select>

    public List<Map<String, Object>> queryGoodsByGoodsNoPcweb(List<String> goodsNos);
public ServiceMessage<List<Map<String, Object>>> queryGoodsListByGoodsNoList(List<String> goodsNoList, SiteType siteType) {
        try {
            if (goodsNoList == null || goodsNoList.size() < 1) {
                return super.returnParamsError("接收到的goodsNoList(" + goodsNoList + ")为空");
            } else if (goodsNoList.get(0) == null || "".equals(goodsNoList.get(0).trim())) {
                return super.returnParamsError("接收到的goodsNoList(" + goodsNoList.get(0) + ")元素为空");
            } else if (siteType == null) {
                return super.returnParamsError("接收到的SiteType(" + siteType + ")元素为空");
            }
            List<Map<String, Object>> goodsList = null;
            if (SiteType.PCWEB.equals(siteType)) {
                goodsList = goodsMapper.queryGoodsByGoodsNoPcweb(goodsNoList);
            } else if (SiteType.MOBILE.equals(siteType)) {
                goodsList = goodsMapper.queryGoodsByGoodsNoMobile(goodsNoList);
            }
            return super.returnCorrectResult(goodsList);
        } catch (Throwable e) {
            return super.returnException(e);
        }
    }

mybatis 之 parameterType="List" 2的更多相关文章

  1. mybatis中parameterType可以写的别名

    mybatis中parameterType可以写的别名 https://blog.csdn.net/sdzhangshulong/article/details/51749807 _byte byte ...

  2. mybatis的parameterType使用map实现真正的sql随意写

    在dao层给map赋值 纠正一下应该把dd作为传入而不是sbiId; sqlMap中的parameterType="java.util.Map", 就 OK package com ...

  3. 【JAVA - SSM】之MyBatis的ParameterType的使用

    在MyBatis的Mapper.xml文件中,参数的表示方法有两种:一种是使用 "#{XXX}" 的方式表示的,另一种是使用 "${XXX}" 的方式表示的.今 ...

  4. MyBatis mapper parameterType

    1.   传入简单类型 JAVA代码: public User get(Long id) { return (User) getSqlSession().selectOne("com.liu ...

  5. Mybatis中parameterType、resultMap、statementType等等配置详解&lpar;标签中基本配置详解&rpar;

    一.(转自:https://blog.csdn.net/majinggogogo/article/details/72123185) 映射文件是以<mapper>作为根节点,在根节点中支持 ...

  6. mybatis之parameterType传递多个参数

    当在查询的时候需要传入多个参数的时候该怎么办呢: 1,封装成一个Model对象,底层HashMap还是一个 User user=new User(); user.setUserName("z ...

  7. MyBatis的parameterType传入参数类型

    在mybatis映射接口的配置中,有select,insert,update,delete等元素都提到了parameterType的用法,parameterType为输入参数,在配置的时候,配置相应的 ...

  8. 【JavaEE】之MyBatis的ParameterType的使用

    在MyBatis的Mapper.xml文件中,参数的表示方法有两种:一种是使用 “#{XXX}” 的方式表示的,另一种是使用 “${XXX}” 的方式表示的.今天来介绍以下这两种方式的不同之处. 1. ...

  9. Mybatis的parameterType传入多个参数

    如果查询的条件有多个的时候,mybatis有三种传入方式: 1.通过注解传入 例如: public interface Mapper(){ public User login(@Param(&quot ...

  10. mybatis 之 parameterType&equals;&quot&semi;String&quot&semi; resultType&equals;&quot&semi;java&period;util&period;HashMap&quot&semi;&gt&semi;

    public ServiceMessage<Map<String, String>> getGoodsStockNo( List<Map<String, Strin ...

随机推荐

  1. android整体架构概述--①

    android的logo 是由设计师去厕所时来的灵感. 其中android的命名都是以甜点的名字来定的. android的系统一共有四层. 1.Linux内核和驱动层 2.函数库  由C或C++编写 ...

  2. 从Keil 4升级到Keil 5的工程,想返回来用Keil 4打开

    情景描述: 笔者电脑程序Keil 4升级到Keil 5,相应地,原来项目上的工程也在第一次用Keil 5打开的时候进行了升级.之后,由于客户需要开发资料,其版本为Keil 4,我尝试着用Keil 4打 ...

  3. linux kernel中timer的使用

    linux kernel中timer的使用 http://blog.csdn.net/njuitjf/article/details/16888821 在kernel中如果想周期性的干些什么事情,或者 ...

  4. 小议common lisp程序开发流程 - Ever 17 - 博客频道 - CSDN&period;NET

    小议common lisp程序开发流程 - Ever 17 - 博客频道 - CSDN.NET 小议common lisp程序开发流程 分类: lisp 2011-04-17 20:59 1316人阅 ...

  5. C&plus;&plus;测试利器--google test开源测试框架

    资料 偶然发现了google的测试框架gtest,马上试了下,效果挺不错,特别是对于写c++的人来说,方便很多.以前自己写c++的模块,通常是写好了模块后再另外定义些函数,然后在函数里面写测试用例来测 ...

  6. upload 简单的封装

    upload 最简单的封装类 <?php    class Upload{        public function Up($files){            if($files['na ...

  7. SpringMVC-DispatcherServlet工作流程及web&period;xml配置

    工作流程: Web中,无非是请求和响应: 在SpringMVC中,请求的第一站是DispatcherServlet,充当前端控制器角色: DispatcherServlet会查询一个或多个处理器映射( ...

  8. 【转】STM32&colon; 一种计算CPU使用率的方法及其实现原理

    1  前言出于性能方面的考虑,有的时候,我们希望知道CPU的使用率为多少,进而判断此CPU的负载情况和对于当前运行环境是否足够“胜任”.本文将介绍一种计算CPU占有率的方法以及其实现原理. 2  移植 ...

  9. idea关于tab的设置

    新手使用,一不小心tab显示在右面了,这不学习下给搞正常点. settings===>Editor=====>Editor Tabs; Palacement设置的是tab显示的部位: Ta ...

  10. &lbrack;HAOI 2015&rsqb;树上染色

    Description 题库链接 给出一棵 \(n\) 个节点的树,边有权值.让你将树上 \(k\) 个点染黑,剩余 \(n-k\) 个点染白.染色后记一种染色方案的价值为黑点间两两距离和以及白点间两 ...