1. 创建 mysql 存储过程 , 这是个复杂查询加上了判断 , 比较复杂
Buat Prosedur SearchAllList (di TradingAreaid varchar (50), di CategoryName Varchar (100), di IntelligenceSort Tinyint Unsigned, dalam PriceBegin Double, dalam Priceend Double, di CommodityName Varchar (200), dalam bendera Tinyint Unsigned) Bendera Begorif = 0 thenselectB.user_idiness_idiness_idiness_idiness BusinessId, b.shop_name, b.total_score, b.shop_logo, b. avage_consume, d.category_name, b.shop_addressfromuser_business_commodity aleft bergabung dengan user_business b on b.user_business_id = a.user_business oudleft = oNDLEFTE = oNDLEFTEVERSION = Pengguna = B.Business_id = a.business. B.user_business_idleft bergabung dengan service_category d pada d.category_id = c.category_one_idwhere1 = 1Andif (CategoryName bukan nullland length (trim (CategoryName))> 0, d.category_name = CategoryName, 1 = 1) andif (PriceBegin! = 0, b. nevageer = nelure = nelure = 1 = 1 = 1) andif (pricebegin! = 0, b. neverage = nelure = nelure = 1 = 1 = 1 = 1) andif (pricebegin! = 0, b. neregorage = nelure = neVerage = neVageREAGE_ = 1 = 1) dan NEVERIAGE, 1 = 1) andif (b. 0, B.Average_consume <= priceend, 1 = 1) andif (commodityName bukan panjang nullland (trim (commodityName))> 0, a. Nama seperti concat ('%', commodityName, '%'), 1 = 1) dan b.is_delete = 0 dan b.shop_setup_state = 1 dan b.is.delete = 0 dan b.shop_setup_state = 1 dan b.is.isandete = 0 dan b.shop_setup_state = 1 dan a. 0Group bya.user_business_idorder bycase intelijen 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; elseselectb.user_business_id BusinessId, b.shop_name, b.total_score, b.shop_logo, b. avage_consume, d.category_name, b.shop_addressfromuser_business_commodity aleft bergabung dengan user_business b on b.user_business_id = a.user_business oudleft = oNDLEFTE = oNDLEFTEVERSION = Pengguna = B.Business_id = a.business. B.user_business_idleft bergabung dengan service_category d pada d.category_id = c.category_two_idwhere1 = 1andif (CategoryName bukan nullland length (trim (CategoryName))> 0, d.category_name = CategoryName, 1 = 1) andif (PriceBegin! = 0, b. 0, B.Average_consume <= priceend, 1 = 1) andif (commodityName bukan panjang nullland (trim (commodityName))> 0, a. Nama seperti concat ('%', commodityName, '%'), 1 = 1) dan b.is_delete = 0 dan b.shop_setup_state = 1 dan b.is.delete = 0 dan b.shop_setup_state = 1 dan b.is.isandete = 0 dan b.shop_setup_state = 1 dan a. 0Group bya.user_business_idorder Bycase intelijen saat 1 kali lipat.total_order desc'when 2 kemudian'b.total_score desc'when 3 kemudian'b.create_time desc'else'b.create_time asc'end; end if; end;2. : :
menunjukkan status prosedur;
3.SQLMAPPER 文件 :
<pilih id = "searchAllList1" parameterMap = "searchAllListMap" pernyataantype = "callable" resultType = "com.dongjia168.platform.vo.erp.crm.businessshopresp"> panggilan searchAllList (#{tradingareAiD},#{CategoryName},#{Intelligenceort},#{PriceBegin},#{PriceEnd},#{CommodityName},#{flag}); </pilih><parametermap id = "searchAllListMap" type = "com.dongjia168.platform.vo.erp.crm.businessshopreq"> <parameter properti = "tradingareAiD" jdbctype = "varchar" mode = "in"/> <parameter property = "CategoryName" jdbctypes = "varchar" = "in"/> <parameter property = "CategoryName" JDBCTIPES = "vARCHAR =" in "/> <parameter property =" CategoryName "JDBCTIPES =" vARCHAR = "in"/> <parameter property = "CategoryName" JDBCTEPSEP = "in" in "in" in "in" in "in" in "in" in "in" in "in" in "in" jdbctype = "integer" mode = "in"/> <parameter properti = "pricebegin" jdbctype = "double" mode = "in"/> <parameter properti = "priceend" jdbctype = "double" mode = "in"/> <parameter = "commodityname" jdbctype = "varchar" "in" parameter = "commodityName" jdbctype = "in" in "in" paramet "paramet =" jdbctype = "in" in "parameter" Mode = "in"/> </parametermap>
其他和直接调用 SQL 语句一样了
以上这篇 mybatis 应用 mysql 存储过程查询数据实例就是小编分享给大家的全部内容了 , 希望能给大家一个参考 , 也希望大家多多支持武林网。