mybatis通用增删改查模板
- 通过mybatis增删改查等基本功能进行优化,实现通用功能
- CommentController.java
package com.location.bjgwserver.controller;
import com.github.pagehelper.PageInfo;
import com.location.bjgwserver.service.CommonService;
import com.location.general.domain.ResultCode;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.constraints.NotNull;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@RestController
@RequestMapping("/services/common")
public class CommonController {
@Resource
private CommonService commonService;
@RequestMapping("/findCommonByPageOrKey")
public ResultCode findCommonByPageOrKey( @RequestParam String table_name,
@RequestParam String field_name,
@RequestParam String field_value,
@RequestParam(required = true)@NotNull Integer pageNumber,
@RequestParam(required = true)@NotNull Integer pageSize) {
if ("".equals(pageNumber) || pageNumber == null || "".equals(pageSize) || pageSize == null ) {
return ResultCode.errorParam("参数不能为空!");
}
PageInfo list = new PageInfo();
try {
list = commonService.findCommonByPageOrKey(table_name,field_name,field_value,pageNumber,pageSize);
if (list == null ) {
return ResultCode.errorParam("未查询到数据!");
}
} catch (Exception e) {
e.printStackTrace();
return ResultCode.error("信息获取失败");
}
return ResultCode.success(list);
}
@RequestMapping("/insertCommon")
@ResponseBody
public ResultCode insertCommon( @RequestBody Map<String,Object> map,
@RequestParam String table_name) {
try {
commonService.insertCommon(map,table_name);
return ResultCode.success("添加成功");
} catch (Exception e) {
e.printStackTrace();
return ResultCode.errorParam("添加失败!");
}
}
@RequestMapping("/deleteCommons")
@ResponseBody
public ResultCode deleteCommons(@RequestParam String table_name,
@RequestParam String field_name,
@RequestParam String guides) {
if (guides == null) {
return ResultCode.errorParam("guid不能为空!");
}
try {
commonService.deleteCommons(table_name,field_name,guides.split(","));
} catch (Exception e) {
e.printStackTrace();
return ResultCode.errorParam("删除失败!");
}
return ResultCode.success("删除成功");
}
@RequestMapping("/updateCommon")
@ResponseBody
public ResultCode updateCommon(@RequestBody Map<String,Object> map,
@RequestParam String table_name,
@RequestParam String field_name,
@RequestParam String field_value) {
try {
commonService.updateCommon(map,table_name,field_name,field_value);
} catch (Exception e) {
e.printStackTrace();
return ResultCode.errorParam("修改失败!");
}
return ResultCode.success("修改成功");
}
}
package com.location.bjgwserver.service;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.location.bjgwserver.mapper.CommonMapper;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestParam;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
@Service
public class CommonService {
@Resource
private CommonMapper commonMapper;
public PageInfo findCommonByPageOrKey(String table_name, String field_name, String field_value, Integer pageNumber, Integer pageSize) {
PageHelper.startPage(pageNumber,pageSize);
String sql = "SELECT * FROM "+""+table_name+"" +" where " + ""+field_name+"" + " like '%"+ ""+field_value+"" +"%' ";
List<Map<String,Object>> list = commonMapper.findCommonByPageOrKey(sql);
return new PageInfo(list);
}
public void insertCommon(Map<String,Object> map,String table_name) {
commonMapper.insertCommon(map,table_name);
}
public void deleteCommons(String table_name, String field_name, String[] guid) {
commonMapper.deleteCommons(table_name,field_name,guid);
}
public void updateCommon(Map<String,Object> map,String table_name,String field_name,String field_value) {
commonMapper.updateCommon(map,table_name,field_name,field_value);
}
}
package com.location.bjgwserver.mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
public interface CommonMapper {
List<Map<String,Object>> findCommonByPageOrKey(@Param(value="value") String sql);
void insertCommon(@Param(value="map") Map<String,Object> map,@Param(value="table_name") String table_name);
void deleteCommons(@Param("table_name") String table_name, @Param("field_name") String field_name,@Param("guid") String[] guid);
void updateCommon(@Param("map")Map<String,Object> map,@Param("table_name") String table_name,@Param("field_name") String field_name,@Param("field_value") String field_value);
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.location.bjgwserver.mapper.CommonMapper">
<select id="findCommonByPageOrKey" resultType="java.util.Map">
${value}
</select>
<insert id="insertCommon" >
insert into ${table_name}
<foreach item="value" collection="map" index="key" open="(" separator="," close=")">
${key}
</foreach>
values
<foreach item="value" collection="map" index="key" open="(" separator="," close=")">
#{value}
</foreach>
</insert>
<delete id="deleteCommons" >
delete from ${table_name}
where ${field_name} in
<foreach item="item" collection="guid" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<update id="updateCommon" >
update ${table_name}
set
<foreach item="value" collection="map" index="key" separator="," >
${key} = ${value}
</foreach>
where ${field_name} = #{field_value}
</update>
</mapper>