废话不多说 上代码:
传参类:
package com.bfc.boperation.domain;
import java.util.HashMap;
import java.util.Map;
public class SearchParam {
private String draw;//重构次数
private int start ;//页码
private int length ;//每页
private int totalRecord;//总条数
private String orderColumn;
private String orderDir;
private String columnName;
private Map<String,Object> param = new HashMap<String, Object>();
public String getDraw() {
return draw;
}
public void setDraw(String draw) {
this.draw = draw;
}
public int getLength() {
return length;
}
public void setLength(int length) {
this.length = length;
}
public int getTotalRecord() {
return totalRecord;
}
public void setTotalRecord(int totalRecord) {
this.totalRecord = totalRecord;
}
public String getOrderColumn() {
return orderColumn;
}
public void setOrderColumn(String orderColumn) {
this.orderColumn = orderColumn;
}
public String getOrderDir() {
return orderDir;
}
public void setOrderDir(String orderDir) {
this.orderDir = orderDir;
}
public String getColumnName() {
return columnName;
}
public void setColumnName(String columnName) {
this.columnName = columnName;
}
public Map<String, Object> getParam() {
return param;
}
public void setParam(Map<String, Object> param) {
this.param = param;
}
public int getStart() {
return start;
}
public void setStart(int start) {
this.start = start;
}
}
我这自设resultMap,如果你需要返回map,可将resultMap修改程resultType=“java.util.Map”即可【重点给大家讲解Map入参】
<resultMap id="BaseResultMap" type="com.bfc.boperation.model.po.Advertise">
<constructor>
<idArg column="advertise_id" javaType="java.lang.Long" jdbcType="BIGINT"/>
<arg column="media_url" javaType="java.lang.String" jdbcType="VARCHAR"/>
<arg column="put_start_time" javaType="java.util.Date" jdbcType="TIMESTAMP"/>
<arg column="put_end_time" javaType="java.util.Date" jdbcType="TIMESTAMP"/>
<arg column="desc" javaType="java.lang.String" jdbcType="VARCHAR"/>
<arg column="create_operation_id" javaType="java.lang.Long" jdbcType="BIGINT"/>
<arg column="status" javaType="java.lang.Integer" jdbcType="INTEGER"/>
<arg column="create_date" javaType="java.util.Date" jdbcType="TIMESTAMP"/>
</constructor>
</resultMap>
这是我的Mapper接口
* @param map
* @return
*/
List<Advertise> selectBlackAdvertiseList(@Param("params") Map<String, Object> map);
注意我使用的@Param里面的值我设params 在使用的时候 我直接使用params.key的值即可【这是我的serviceImpl层 注释中的部分是返回为map的情况进行循环遍历取值【key值:数据库中的字段】get(“key”) 】
* @param param
* @return
*/
@Override
public ResponseData findAll(SearchParam param) {
ResponseData res = new ResponseData();
Map<String, Object> map = new HashMap<String, Object>();
map.put("pageNo", 0);//param.getStart()
map.put("pageSize",2);//param.getLength()
map.put("startTime", param.getParam().get("put_start_time"));
map.put("endTime", param.getParam().get("put_end_time"));
// List<Map<String, Object>> list = advertiseMapper.selectBlackAdvertiseList(map);
// List<Advertise> list1 = new ArrayList<Advertise>();
// for (Map<String, Object> advertise : list) {
// Advertise advertise1 = new Advertise();
// advertise1.setAdvertiseId(Long.valueOf(advertise.get("advertise_id").toString()));
// advertise1.setCreateDate((Date) advertise.get("create_date"));
// advertise1.setCreateOperationId(Long.valueOf(advertise.get("create_operation_id").toString()));
// advertise1.setDesc(advertise.get("desc").toString());
// advertise1.setMediaUrl(advertise.get("media_url").toString());
// advertise1.setPutEndTime((Date) advertise.get("put_end_time"));
// advertise1.setPutStartTime((Date) advertise.get("put_start_time"));
// advertise1.setStatus(Integer.parseInt(advertise.get("status").toString()));
// list1.add(advertise1);
// }
List<Advertise> list = advertiseMapper.selectBlackAdvertiseList(map);
System.out.println(list.size()+"=-=");
res.setData(list);
res.setDraw(param.getDraw());
return res;
}
<select id="selectBlackAdvertiseList" parameterType="java.util.Map" resultMap="BaseResultMap">
SELECT * FROM bfc_advertise
<where>
1 = 1
<if test="params.startTime != null and params.startTime != ''">
and put_start_time LIKE CONCAT('%',#{params.startTime},'%')
</if>
<if test="params.endTime != null and params.endTime != ''">
and put_end_time LIKE CONCAT('%',#{params.endTime},'%')
</if>
LIMIT #{params.pageNo},#{params.pageSize}
</where>
</select>