创建商家实体类
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注解方式的多条件查询!—————————————