package com.whyc.service;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.whyc.mapper.CustomMapper;
|
import org.springframework.web.context.WebApplicationContext;
|
import org.springframework.web.servlet.support.RequestContextUtils;
|
|
import javax.servlet.http.HttpServletRequest;
|
import java.util.List;
|
import java.util.Map;
|
|
public class QuickService<T> {
|
|
public T selectOne(HttpServletRequest request,String mapperName,Map<String, Object> conditionList, String... columns) {
|
QueryWrapper<T> wrapper = Wrappers.query();
|
wrapper.select(columns);
|
//通过反射的方式获取对应Mapper
|
conditionList.forEach(wrapper::eq);
|
wrapper.last(" limit 1");
|
|
WebApplicationContext webApplicationContext = RequestContextUtils.findWebApplicationContext(request);
|
CustomMapper<T> bean = (CustomMapper) webApplicationContext.getBean(mapperName);
|
T t = bean.selectOne(wrapper);
|
return t;
|
}
|
|
public T selectOne(CustomMapper mapper,Map<String, Object> conditionList, String... columns) {
|
QueryWrapper<T> wrapper = Wrappers.query();
|
for (String column: columns){
|
wrapper.select(column);
|
}
|
//通过反射的方式获取对应Mapper
|
conditionList.forEach(wrapper::eq);
|
wrapper.last(" limit 1");
|
|
T t = (T) mapper.selectOne(wrapper);
|
return t;
|
}
|
|
public List<T> selectList(HttpServletRequest request, String mapperName, Map<String, Object> conditionList, String... columns) {
|
QueryWrapper<T> wrapper = Wrappers.query();
|
for (String column: columns){
|
wrapper.select(column);
|
}
|
//通过反射的方式获取对应Mapper
|
conditionList.forEach(wrapper::eq);
|
|
WebApplicationContext webApplicationContext = RequestContextUtils.findWebApplicationContext(request);
|
CustomMapper<T> bean = (CustomMapper) webApplicationContext.getBean(mapperName);
|
List<T> t = bean.selectList(wrapper);
|
return t;
|
}
|
|
public Object update(){
|
|
return null;
|
}
|
|
}
|