Mybatis 註解形式多條件查詢
阿新 • • 發佈:2018-12-30
建立商家實體類
package com.clsystem.Dto;
import com.clsystem.MybatisUtil.Invisible;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* Created by pudding on 2017-10-25.(YYR)(商家資訊)
*/
@Data
@ApiModel("Shop(商家模型)")
public class Shop {
@ApiModelProperty("id")
Integer id;
@ApiModelProperty("所屬業務員Id")
Integer user_id;//所屬業務員Id
@ApiModelProperty("店鋪名稱")
String shop_name;//店鋪名稱
@ApiModelProperty("店鋪面積")
String area;//店鋪面積
@ApiModelProperty("固定電話")
String telephone;//固定電話
@ApiModelProperty ("手機號")
String phone;//手機號
@ApiModelProperty("經營類別(可以有多個類別)")
@Invisible
List<ShopBusiness> shopBusinessList;//經營類別
@ApiModelProperty("店鋪地區")
String shop_address;//店鋪地區
@ApiModelProperty("詳細地址")
String detailed_address;//詳細地址
@ApiModelProperty("級別")
String level;//級別
@ApiModelProperty("狀態")
String status;//狀態
@ApiModelProperty("備註")
String remarks;//備註
@ApiModelProperty("公司名稱")
String corporate_name;//公司名稱
@ApiModelProperty("法人姓名")
String LegalPerson_name;//法人姓名
@ApiModelProperty("法人電話")
String LegalPerson_phone;//法人電話
@ApiModelProperty("經辦人姓名")
String operator_name;//經辦人姓名
@ApiModelProperty("經辦人電話")
String operator_phone;//經辦人電話
@ApiModelProperty("負責人姓名")
String charge_name;//負責人姓名
@ApiModelProperty("負責人電話")
String charge_phone;//負責人電話
@ApiModelProperty("集團/公司電話")
String corporate_phone;//集團/公司電話
}
建立mapper介面 使用SelectProvider註解(實現通過使用者ID,級別,狀態多條件查詢)
package com.clsystem.Mapper;
import com.clsystem.Dto.Shop;
import com.clsystem.Mapper.Provider.ShopProvider;
import com.clsystem.MybatisUtil.SimpleInsertLangDriver;
import org.apache.ibatis.annotations.*;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* Created by pudding on 2017-10-25.(YYR)
*/
@Mapper
@Component
public interface ShopMapper {
/**
* 通過userId和level,status查詢商家資訊不分頁 (我負責的)
* @param userId
* @return
*/
@SelectProvider(type = ShopProvider.class,method = "findShopByLevelAndStatus")//多條件關鍵註釋
@Results({@Result(property = "id", column = "id"),@Result(property = "shopBusinessList", javaType = List.class, column = "id",many = @Many(select = "com.clsystem.Mapper.ShopBusinessMapper.findBusinessByShopId"))})
List<Shop> findShopByLevelAndStatus(Integer userId,String level,String status);
}
實現多條件查詢建立ShopProvider類
package com.clsystem.Mapper.Provider;
/**
* Created by pudding on 2017-11-20.
*/
public class ShopProvider {
/**
* 通過重要程度和狀態查詢商家
* @param userId
* @param level
* @param status
* @return
*/
public String findShopByLevelAndStatus(Integer userId,String level,String status){
StringBuffer sql=new StringBuffer("select * from cl_shop where user_id="+userId+" ");
if (!level.equals("")){
sql.append(" and level='"+level+"' ");
}
if (!status.equals("")){
sql.append(" and status='"+status+"' ");
}
sql.append("order by id desc");
return sql.toString();
}
}
—————————————–最後使用Service,Controller 呼叫介面,讓我們呼叫介面來試試吧!———————————
——————————————查詢結果,到這裡就實現了mybatis註解方式的多條件查詢!—————————————