mybatis通用增删改查模板

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;

/**
 * 承台控制层
 * @author csz
 * @date 2020/3/10
 */

@RestController
@RequestMapping("/services/common")
public class CommonController {


    @Resource
    private CommonService commonService;


    /**
     * 查询承台根据分页或关键字
     * @param table_name 关键字
     * @param field_name 关键字字段
     * @param field_value 关键字值
     * @param pageNumber  页数
     * @param pageSize    页大小
     * @author csz
     * @date 2020/3/27
     */
    @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);
    }


    /**
     * 添加承台信息
     * @param map         添加信息
     * @param table_name  添加的表名
     * @RequestBody  传List 或者Map
     * @RequestParam  传String,Integer
     * 当参数上面既有map又有基本类型的时候,要加上这两个注解
     * @author csz
     * @data 2020/3/27
     * @return
     */
    @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("添加失败!");
        }
    }


    /**
     * 批量删除承台
     * @param guides
     * @author csz
     * @data 2020/3/5
     * @return
     */
    @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("删除成功");
    }


    /**
     * 修改承台信息
     * @param map
     * @author csz
     * @data 2020/3/5
     * @return
     */
    @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("修改成功");
    }
}

  • CommentService.java
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;

/**
 * 承台业务层
 * @author csz
 * @date 2020/3/10
 */
@Service
public class CommonService  {

    @Resource
    private CommonMapper commonMapper;


    /**
     * 分页或关键字查询信息
     * @return
     */
    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);
    }


    /**
     * 添加承台信息
     * @return
     */
    public void insertCommon(Map<String,Object> map,String table_name) {
        commonMapper.insertCommon(map,table_name);
    }


    /**
     * 根据guid删除承台信息
     * @return
     */
    public void deleteCommons(String  table_name, String  field_name, String[] guid) {


        commonMapper.deleteCommons(table_name,field_name,guid);
    }



    /**
     * 修改承台信息
     * @return
     */
    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);
    }
}

  • CommentMapper.java
package com.location.bjgwserver.mapper;

import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 承台dao层
 * @author csz
 * @date 2020/3/10
 */
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);
}

  • CommentMapper.XML
<?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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值