国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

Mybatis應用mysql存儲過程查詢數據實例

2024-07-13 10:15:45
字體:
來源:轉載
供稿:網友

1.創建mysql存儲過程,這是個復雜查詢加上了判斷,比較復雜

CREATE PROCEDURE searchAllList (	IN tradingAreaId VARCHAR (50),	IN categoryName VARCHAR (100),	IN intelligenceSort TINYINT UNSIGNED,	IN priceBegin DOUBLE,	IN priceEnd DOUBLE,	IN commodityName VARCHAR (200),	IN flag TINYINT UNSIGNED)BEGINIF flag = 0 THEN	SELECT		B.user_business_id businessId,		B.shop_name,		B.total_score,		B.shop_logo,		B.average_consume,		D.category_name,		B.shop_address	FROM		user_business_commodity A	LEFT JOIN user_business B ON B.user_business_id = A.user_business_id	LEFT JOIN user_business_category C ON C.business_id = B.user_business_id	LEFT JOIN service_category D ON D.category_id = C.category_one_id	WHERE		1 = 1	AND	IF (		categoryName IS NOT NULL		AND LENGTH(TRIM(categoryName)) > 0,		D.category_name = categoryName,		1 = 1	)	AND	IF (		priceBegin != 0,		B.average_consume >= priceBegin,		1 = 1	)	AND	IF (		priceEnd != 0,		B.average_consume <= priceEnd,		1 = 1	)	AND	IF (		commodityName IS NOT NULL		AND LENGTH(TRIM(commodityName)) > 0,		A. NAME LIKE concat('%', commodityName, '%'),		1 = 1	)	AND B.is_delete = 0	AND B.shop_setup_state = 1	AND A.is_delete = 0	AND C.is_delete = 0	AND D.is_delete = 0	GROUP BY		A.user_business_id	ORDER BY		CASE intelligenceSort	WHEN 1 THEN		'B.total_order DESC'	WHEN 2 THEN		'B.total_score DESC'	WHEN 3 THEN		'B.create_time DESC'	ELSE		'B.create_time ASC'	END;ELSE	SELECT		B.user_business_id businessId,		B.shop_name,		B.total_score,		B.shop_logo,		B.average_consume,		D.category_name,		B.shop_address	FROM		user_business_commodity A	LEFT JOIN user_business B ON B.user_business_id = A.user_business_id	LEFT JOIN user_business_category C ON C.business_id = B.user_business_id	LEFT JOIN service_category D ON D.category_id = C.category_two_id	WHERE		1 = 1	AND	IF (		categoryName IS NOT NULL		AND LENGTH(TRIM(categoryName)) > 0,		D.category_name = categoryName,		1 = 1	)	AND	IF (		priceBegin != 0,		B.average_consume >= priceBegin,		1 = 1	)	AND	IF (		priceEnd != 0,		B.average_consume <= priceEnd,		1 = 1	)	AND	IF (		commodityName IS NOT NULL		AND LENGTH(TRIM(commodityName)) > 0,		A. NAME LIKE concat('%', commodityName, '%'),		1 = 1	)	AND B.is_delete = 0	AND B.shop_setup_state = 1	AND A.is_delete = 0	AND C.is_delete = 0	AND D.is_delete = 0	GROUP BY		A.user_business_id	ORDER BY		CASE intelligenceSort	WHEN 1 THEN		'B.total_order DESC'	WHEN 2 THEN		'B.total_score DESC'	WHEN 3 THEN		'B.create_time DESC'	ELSE		'B.create_time ASC'	END;END IF;END;

2.查看存儲過程是否創建成功:

show procedure status; 

3.sqlMapper文件:

<select id="searchAllList1" parameterMap="searchAllListMap" statementType="CALLABLE" resultType="com.dongjia168.platform.vo.erp.crm.BusinessShopResp">     CALL searchAllList(#{tradingAreaId},#{categoryName},#{intelligenceSort},#{priceBegin},#{priceEnd},#{commodityName},#{flag});   </select> 
<parameterMap id="searchAllListMap" type="com.dongjia168.platform.vo.erp.crm.BusinessShopReq">     <parameter property="tradingAreaId" jdbcType="VARCHAR" mode="IN"/>     <parameter property="categoryName" jdbcType="VARCHAR" mode="IN"/>     <parameter property="intelligenceSort" jdbcType="INTEGER" mode="IN"/>     <parameter property="priceBegin" jdbcType="DOUBLE" mode="IN"/>     <parameter property="priceEnd" jdbcType="DOUBLE" mode="IN"/>     <parameter property="commodityName" jdbcType="VARCHAR" mode="IN"/>     <parameter property="flag" jdbcType="INTEGER" mode="IN"/>   </parameterMap> 

其他和直接調用sql語句一樣了

以上這篇Mybatis應用mysql存儲過程查詢數據實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 河北省| 青州市| 个旧市| 兰考县| 安图县| 全南县| 昔阳县| 庆城县| 金华市| 武平县| 岳池县| 汉寿县| 疏勒县| 旅游| 婺源县| 四会市| 麻城市| 丁青县| 且末县| 鄂州市| 云和县| 睢宁县| SHOW| 柘城县| 镶黄旗| 六盘水市| 十堰市| 会泽县| 武山县| 临高县| 永清县| 枣阳市| 宾阳县| 酒泉市| 丘北县| 西平县| 清水县| 柳林县| 屏山县| 高阳县| 丰城市|