写BUG的派大星

Patrick Star

  • 首页
  • 归档

  • 搜索
设计模式 Gis Kafka Druid 微信小程序 Java 开源项目源码 物体识别 机器学习 Mybatis 微服务 Feign OpenVPN CSS Streamsets CDH SpringCloud SpringBoot maven 分布式 Shell Tree Linux js WebSocket 多线程 集群 Hadoop 大数据 JDK ElasticSearch MySQL 数据库 Redis Http Nginx

Druid中SQLStatement相关的源码阅读(用于修改SQL中的某些属性)

发表于 2020-10-01 | 分类于 Java | 0 | 阅读次数 1562

简介

在Druid的设计中,SQLObject是最顶层的接口。本文中要记录的SQLStatement接口也是继承与它。

顾名思义,SQLObject是SQL对象,SQLStatement就是SQL语句。是druid抽象出来的,用来对SQL语句操作的接口。

接口提供的方法

SQLObject与SQLStatement接口中分别包含以下方法:
image.png
image.png
对于SQLStatement来说,专有的方法是获取数据库类型、转为小写、获取子对象等等。上图中的源码中有写,不做过多的记录。

类的关系

SQLStatement的实现类有两百多个,此处以MySQL为例,
image
通过里面提供的方法,可以对sql进行操作。

具体思路是将原SQL转为SQLStatement对象,然后修改,最后将对象转为sql语句。

实践如图:
image.png

可以修改的sql语句节点如下image.png

  • 本文作者: Patrick
  • 本文链接: https://www.write1bug.cn/archives/druid中sqlstatement相关的源码阅读用于修改sql中的某些属性
  • 版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 许可协议。转载请注明出处!
# 设计模式 # Gis # Kafka # Druid # 微信小程序 # Java # 开源项目源码 # 物体识别 # 机器学习 # Mybatis # 微服务 # Feign # OpenVPN # CSS # Streamsets # CDH # SpringCloud # SpringBoot # maven # 分布式 # Shell # Tree # Linux # js # WebSocket # 多线程 # 集群 # Hadoop # 大数据 # JDK # ElasticSearch # MySQL # 数据库 # Redis # Http # Nginx
微信小程序中调用地图Api获取定位信息
Python使用kafka生产或消费消息
  • 文章目录
  • 站点概览
Patrick

Patrick

不是在改BUG,就是在写BUG。

52 日志
9 分类
36 标签
RSS
E-mail
Creative Commons
© 2018 — 2023 Patrick
人生如逆旅|我亦是行人
鲁ICP备18043140号-1