文档章节

sql 语句的关键词统一过滤处理

淡泊
 淡泊
发布于 2016/07/09 14:33
字数 191
阅读 5
收藏 0
点赞 0
评论 0

 在运行关键词转换的时候,都需要做一些处理,这边实现一个简单的替换多个关键词方法。

下面是直接可以使用的原代码
 public static final String[] KEYWORDS=new String[]{"timestamp","time"};
 
    public static String  toWhereSql(String whereSql) {
        if(StringUtils.isBlank(whereSql)){
            return whereSql;
        }
        String fwhereSql=  whereSql;
        for(String keyword:KEYWORDS){
            fwhereSql = indexExist(  fwhereSql,  keyword);
        }
        return fwhereSql;
    }
    
    
     
    public static String indexExist(String whereSql,String keyword) {
       int index =whereSql.indexOf(keyword);
       if(index!=-1){
              String str1 = whereSql.substring(0,index) ;
              String str2= whereSql.substring(index+keyword.length()) ;
              if((str1.endsWith(" ")||str1.endsWith("(")&&(str2.startsWith(" ")||str2.startsWith(")")))){
                  String fstr2=indexExist(str2,keyword);
                  String str3= str1+ "\""+keyword+"\""+fstr2; 
                  return str3;
              }else{
                  String fstr2=indexExist(str2,keyword);
                  return str1+keyword+fstr2;
              }
       } 
       return whereSql;
    }

© 著作权归作者所有

共有 人打赏支持
淡泊
粉丝 0
博文 3
码字总数 725
作品 0
厦门
后端工程师
Neo4j的查询语法笔记(二)

cypher是neo4j官网提供的声明式查询语言,非常强大,用它可以完成任意的图谱里面的查询过滤,我们知识图谱的一期项目基本开发完毕,后面会陆续总结学习一下neo4j相关的知识。今天接着上篇文章...

九劫散仙
2016/11/11
136
0
oos 0.2.1 发布, C++ 的 ORM 框架

oos 0.2.1 发布,这是个 bug 修复版本,修复了 Ubuntu 13.10 的构建问题;移除了不必要的代码;改进了错误处理。 OOS 是一个 C++ 的 ORM 框架。旨在封装所有数据库后端功能,并对开发者提供统...

oschina
2014/01/16
1K
5
见招拆招:绕过WAF继续SQL注入常用方法

  这篇文章之前的名字叫做:WAF bypass for SQL injection #理论篇,我于6月17日投稿了Freebuf。链接:点击这里 现博客恢复,特发此处。   Web Hacker总是生存在与WAF的不断抗争之中的,...

mik3y
2014/07/16
0
13
基于JDBC层数据权限是如何设计的

前面一篇博客聊聊数据权限哪些事儿介绍了数据权限配置文件和数据权限的几个示例,这篇文章来详细介绍下tiny版本的数据权限是如何设计的? Tiny版本的数据权限是基于jdbc底层实现的,可以把它...

悠悠然然
2016/05/15
7K
45
ThinkPHP框架安全实现分析

ThinkPHP框架是国内比较流行的PHP框架之一,虽然跟国外的那些个框架没法比,但优点在于,恩,中文手册很全面。最近研究SQL注入,之前用TP框架的时候因为底层提供了安全功能,在开发过程中没怎...

simple简单
2016/12/23
0
0
使用正则表达式实现像SQL中LIKE语句中的%和_通配

在项目中我们经常遇到将数据库的数据取到后再次进行筛选过滤的情况。LINQ to Entity提供了统一的查询接口并且可以高效的完成工作,但是对于我们常在SQL中使用的%和_这样的通配符并没有支持。...

arthurshan
2014/09/02
0
0
龙纹身女孩和 SQL

我喜欢大卫·芬奇(David Fincher)拍的电影《龙纹身女孩》,他成功的把小说《龙纹身女孩》搬上了荧幕,超出了我的预期。我本以为这又是一部肤浅的、愤世嫉俗的用来敛钱的好莱坞电影,事实情况...

oschina
2012/06/07
9.9K
68
【阅读】《千万不要让关系数据库跟这十样事物掺合到一起》要点

刚刚看了《千万不要让关系数据库跟这十样事物掺合到一起》这篇文章,作为数据库方面的菜鸟,将其中的要点进行摘要整理,同时将一些概念单独拿出进行说明,方便日后回顾。 原文:http://www....

摩云飞
2013/01/05
0
2
MySQL中文全文检索demoSQL

一、概述 MySQL全文检索是利用查询关键字和查询列内容之间的相关度进行检索,可以利用全文索引来提高匹配的速度。 二、语法 MATCH (col1,col2,...) AGAINST (expr [search_modifier]) searc...

tomener
2016/03/21
29
0
关于PHP的漏洞以及如何防止PHP漏洞?

漏洞无非这么几类,XSS、sql注入、命令执行、上传漏洞、本地包含、远程包含、权限绕过、信息泄露、cookie伪造、CSRF(跨站请求)等。这些漏洞不仅仅是针对PHP语言的,本文只是简单介绍PHP如何有...

mckee
2013/07/01
0
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

知识点总结

jq如何拿到data-info的自定义属性 1.1 原生可以获取到所有属性el.attrbutes 1.2 jq的$(el).attr('属性名称') 继承的几种方式,原型链 2.1 扩展原型对象实现继承 2.2 替换原型对象实现继承 2....

litCabbage
9分钟前
0
0
python语言规范

http://zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/python_style_rules/...

ghou-靠墙哭
13分钟前
0
0
istio 监控,遥测 (理论)

Istio提供了一种灵活的模型来强制执行授权策略并收集网格中服务的遥测。 基础架构后端旨在提供用于构建服务的支持功能。它们包括诸如访问控制系统,遥测捕获系统,配额执行系统,计费系统等之...

xiaomin0322
15分钟前
0
0
阿里资深专家面试问题收集

corejava hashcode相等的两个对象一定相等吗?equals呢?反过来相等吗? 介绍一下集合框架? hashtable,hashmap底层实现是什么?hashtable和concurrenthashmap底层实现的区别? hashmap和treemap的...

undefine
16分钟前
6
0
alpine安装软件指定安装源

linux-alpine安装软件指定安装源 一、永久修改apk下载源地址 vi etc/apk/repositories 替换成阿里源 http://mirrors.aliyun.com/alpine/v3.8/main/http://mirrors.aliyun.com/alpine/v3...

我心中有猛狗
17分钟前
0
0
Centos7通过yum安装nginx

添加源地址(直接install可能不是最新版本的) sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm 安装 sudo yum install -y ng......

iplusx
19分钟前
0
0
ef .core Dapper Helper

using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Data.SqlClient; using System.Threading.Tasks; using Dapper; using Dap......

Lytf
20分钟前
0
0
iOS 小笔记

1.以下代码打印什么     __block int val = 10;    void (^blk)(void) = ^{        printf("val=%d\n",val);        };       val = 2;    blk(); /...

风了个1
22分钟前
0
0
【Spring Boot 系列 Spring Boot示例程序】

入门程序步骤,创建一个Maven项目。继承Spring Boot官方提供的父工程。再引入一个Web的应用启动器。 1、选择一个合适的IDEA工具 创建一个Maven工程,并添加如下配置 <parent> <...

HansonReal
24分钟前
0
0
217. Contains Duplicate - LeetCode

Question 217. Contains Duplicate Solution 题目大意:判断数组中是否有重复元素 思路:构造一个set,不重复就加进去,重复返回true,如果数据量大的话,可以用布隆过滤器 Java实现: publ...

yysue
28分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部