mybatis 之 parameterType="List" 2
<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的更多相关文章
- mybatis中parameterType可以写的别名
mybatis中parameterType可以写的别名 https://blog.csdn.net/sdzhangshulong/article/details/51749807 _byte byte ...
- mybatis的parameterType使用map实现真正的sql随意写
在dao层给map赋值 纠正一下应该把dd作为传入而不是sbiId; sqlMap中的parameterType="java.util.Map", 就 OK package com ...
- 【JAVA - SSM】之MyBatis的ParameterType的使用
在MyBatis的Mapper.xml文件中,参数的表示方法有两种:一种是使用 "#{XXX}" 的方式表示的,另一种是使用 "${XXX}" 的方式表示的.今 ...
- MyBatis mapper parameterType
1. 传入简单类型 JAVA代码: public User get(Long id) { return (User) getSqlSession().selectOne("com.liu ...
- Mybatis中parameterType、resultMap、statementType等等配置详解(标签中基本配置详解)
一.(转自:https://blog.csdn.net/majinggogogo/article/details/72123185) 映射文件是以<mapper>作为根节点,在根节点中支持 ...
- mybatis之parameterType传递多个参数
当在查询的时候需要传入多个参数的时候该怎么办呢: 1,封装成一个Model对象,底层HashMap还是一个 User user=new User(); user.setUserName("z ...
- MyBatis的parameterType传入参数类型
在mybatis映射接口的配置中,有select,insert,update,delete等元素都提到了parameterType的用法,parameterType为输入参数,在配置的时候,配置相应的 ...
- 【JavaEE】之MyBatis的ParameterType的使用
在MyBatis的Mapper.xml文件中,参数的表示方法有两种:一种是使用 “#{XXX}” 的方式表示的,另一种是使用 “${XXX}” 的方式表示的.今天来介绍以下这两种方式的不同之处. 1. ...
- Mybatis的parameterType传入多个参数
如果查询的条件有多个的时候,mybatis有三种传入方式: 1.通过注解传入 例如: public interface Mapper(){ public User login(@Param(" ...
- mybatis 之 parameterType="String" resultType="java.util.HashMap">
public ServiceMessage<Map<String, String>> getGoodsStockNo( List<Map<String, Strin ...
随机推荐
- 路由策略和策略路由 & route-map
今天,这个专题应用下route-map,在这个之前,有很多内容需要掌握,不是简单的制定一个路由图就可以了. -------- 本次专题理论的东西居多,但是不是复制黏贴,是加上自己的理解思想. 第一个要 ...
- 自然语言交流系统 phxnet团队 创新实训 项目博客 (三)
语音转文本部分是调用的科大讯飞的在线语音,它的激发方式是按键,通过按钮触发开启安卓设备的录音,此部分需要在源码中写入关于安卓权限的要求,来调用安卓的录音权限,当按钮被激发,则开始进入语音录制阶段,将麦 ...
- VS下关于 _CRT_SECURE_NO_WARNINGS 问题的分析与解决
一.问题的起因 六月下旬,老师布置了有关图形学的课设,于是我将我在VS2013中写好的代码进行编译,结果得到了以下信息: 二.解决方法 1,按照英文提示,我先将fopen改成了fopen_s后,发现错 ...
- Java如何创建用户自定义异常?
在Java编程中,如何创建用户自定义异常? 此示例显示如何通过扩展Exception类来创建用户定义的异常. package com.yiibai; class MyException extends ...
- JAR 文件格式提供了许多优势和功能
JAR 文件格式提供了许多优势和功能,其中很多是传统的压缩格式如 ZIP 或者 RAR 所没有提供的.它们包括: 安全性 可以对 JAR 文件内容加上数字化签名.这样,能够识别签名的工具就可以有选择地 ...
- C# 委托的同步调用和异步调用
委托的Invoke方法用来进行同步调用.同步调用也可以叫阻塞调用,它将阻塞当前线程,然后执行调用,调用完毕后再继续向下进行. 同步调用的例子: using System; using System.T ...
- (原)使用android studio ndk开发流程
先使用android stuido创建一个app工程,创建工程的时候,.gradle目录结构下为2.8目录.(note:2.10目录为后续更新结果出现.) 依次修改上述红色方框标注部分内容: 1)修改 ...
- Java写 插入 选择 冒泡 快排
/** * Created by wushuang on 2014/11/19. */ public class SortTest { @Test public void mainTest() { i ...
- GridView分页的实现 ASP.NET c#(转)特好用
要在GridView中加入 //实现分页 AllowPaging="true" //一页数据10行 PageSize="10" // 分页时触发的事件OnPag ...
- 小程序navigator跳转路径url写法
小程序navigator跳转路径url要写 要跳转的的页面文件夹相对于当前页面的页面文件夹的位置,即相对路径. 比如我当前页面跳转到同级目录下的另一个页面如下: <navigator url= ...