美文网首页
如何自定义SQL脚本通过接口操作数据库(没有数据库修改权限却想更

如何自定义SQL脚本通过接口操作数据库(没有数据库修改权限却想更

作者: 燃灯道童 | 来源:发表于2020-03-20 17:32 被阅读0次

    背景:数据库没有修改权限,先要修改数据库中的数据简直困难重重。

    平常写的接口,都是固定某张表的增删改查的操作。

    能不能写一个接口,传值为自定义的sql,通过接口调用去修改数据库。

    示例如下,通过get请求调用。

    可以用postman或者浏览器里输入地址(要确定项目发布后外网是否可以访问。)

    修改的示例:

    https://IP:port/xx/db/operation?value=update t_user set nick_name = '杨过' where nick_name = '奔跑吧9302'
    

    这样就可以跟随环境修改相应的数据库了。(因为配置文件中有相应的数据库连接)

    @Controller
    
    @RequestMapping(value ="/db")
    
    @Api(tags ="数据库的操作")
    
    @Slf4j
    
    public class DBControllerextends BaseController {
    
    @Autowired
    
        InnerHouseServiceinnerHouseService;
    
        @RequestMapping(value ="/operation" , method = RequestMethod.GET)
    
    @ResponseBody
    
        @ApiOperation(value="db", notes="数据库的操作")
    
    public BaseResDTO>>InnerHouseQueryCommon(String value)throws Exception {
    
    log.info("操作数据库开始,脚本为"+value);
    
            List> linkedHashMaps =innerHouseService.ExecutionScript(value);
    
            BaseResDTO>> res =new BaseResDTO<>();
    
            res.setMessage("脚本执行成功。");
    
            res.setCode("success");
    
            res.setDataBody(linkedHashMaps);
    
            return res;
    
        }
    
    }
    
    @Service
    
    public class InnerHouseService {
    
    @Autowired
    
        InnerHouseMapperinnerHouseMapper;
    
        public List>ExecutionScript(String value) {
    
    return innerHouseMapper.superManagerSelect(value);
    
        }
    
    }
    

    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.fulan.readygo.mapper.backdoor.InnerHouseMapper">
    
      <select id="superManagerSelect" parameterType="String" resultType="java.util.LinkedHashMap">
    
        ${value}
    
    </mapper>
    

    以前用mybatis都是针对一个表的增删改查,用这个就可以对该数据库中的任意表进行操作了。

    相关文章

      网友评论

          本文标题:如何自定义SQL脚本通过接口操作数据库(没有数据库修改权限却想更

          本文链接:https://www.haomeiwen.com/subject/srxsyhtx.html