sharding-jdbc学习antlr4
首先阅读一下ANTLR4(ANother Tool for Language Recognition)官网,ANTLR 4 是一款强大的语法分析器生成工具,可用于读取、处理、执行和翻译结构化的文本或二进制文件,比如mysql等一些查用的语法可在https://github.com/antlr/grammars-v4查看;方便自己查看;公众号:帽爹的技术轮子
ANTLR4分词法分析器与语法分析器
- 词法分析器将输入数据解析为词(Token)
- 语法解析器将词解析为抽象语法树(AST)
- 环境搭建
#OS X $ cd /usr/local/lib $ sudo curl -O https://www.antlr.org/download/antlr-4.7.2-complete.jar#编辑~/.bash_profile文件添加环境变量 $ vim ~/.bash_profileexport CLASSPATH=".:/usr/local/lib/antlr-4.7.2-complete.jar:$CLASSPATH" alias antlr4='java -jar /usr/local/lib/antlr-4.7.2-complete.jar' alias grun='java org.antlr.v4.gui.TestRig' $ source ~/.bash_profile#测试antlr是否配置成功 $ antlr4 $
- ANTLR开发流程
1)定义.g4
语法文件;
2)使用 ANTLR 4 生成词法分析器(Lexer)和语法分析器(Parser)目标编程语言代码,支持的编程语言:Java、JavaScript、Python、C 和 C++ 等;
3)遍历 AST(Abstract Syntax Tree 抽象语法树),ANTLR 4 支持两种模式:访问者模式(Visitor)和监听器模式(Listener) - idea插件安装antlr,使用插件解析ss中msql的g4文件,如图:
- Maven插件
在工程 src/main 路径下新建目录 antlr4
然后,新建包路径为 src/main/antlr4/imports/mysql,存放.g4
文件编辑 pom.xml 文件,添加插件:
<plugin> <groupId>org.antlr</groupId><artifactId>antlr4-maven-plugin</artifactId><version>4.3</version><executions><execution><id>antlr</id><configuration><libDirectory>src/main/antlr4/imports/mysql/</libDirectory><listener>false</listener><visitor>false</visitor></configuration><goals><goal>antlr4</goal></goals></execution></executions> </plugin>
#编译 mvn clean compile -DskipTests
插件会为 src/main/antlr4 下的 .g4
文件在 target/generated-sources/antlr4 目录下生成对应的代码
转载于:https://my.oschina.net/u/3180962/blog/3099096
sharding-jdbc学习antlr4相关推荐
- 【MySQL 读写分离】Sharding JDBC + Spring boot 实现数据库读写分离的登录 Demo
上篇文章我们搭建了 MySQL 数据库主从复制集群 MySQL 搭建主从复制集群~~~ 本篇文章我们利用搭建好的主从复制集群,使用 SpringBoot 结合 Sharding-JDBC 搭建一个小的 ...
- JDBC学习笔记03【JDBC事务管理、数据库连接池、JDBCTemplate】
黑马程序员-JDBC文档(腾讯微云)JDBC笔记.pdf:https://share.weiyun.com/Kxy7LmRm JDBC学习笔记01[JDBC快速入门.JDBC各个类详解.JDBC之CR ...
- JDBC学习笔记02【ResultSet类详解、JDBC登录案例练习、PreparedStatement类详解】
黑马程序员-JDBC文档(腾讯微云)JDBC笔记.pdf:https://share.weiyun.com/Kxy7LmRm JDBC学习笔记01[JDBC快速入门.JDBC各个类详解.JDBC之CR ...
- JDBC学习笔记01【JDBC快速入门、JDBC各个类详解、JDBC之CRUD练习】
黑马程序员-JDBC文档(腾讯微云)JDBC笔记.pdf:https://share.weiyun.com/Kxy7LmRm JDBC学习笔记01[JDBC快速入门.JDBC各个类详解.JDBC之CR ...
- Spring boot项目集成Sharding Jdbc
环境 jdk:1.8 framework: spring boot, sharding jdbc database: MySQL 搭建步骤 在pom 中加入sharding 依赖 <depend ...
- JDBC 学习笔记(一)—— 基础知识 + 分页技术
2019独角兽企业重金招聘Python工程师标准>>> 本文查阅方法: 1.查阅目录 -- 查阅本文目录,确定想要查阅的目录标题 2.快捷"查找" ...
- Spring boot + Sharding JDBC 分库分表 及 分布式事务处理
Sharding JDBC 基础概念 Apache ShardingSphere 是一套开源的分布式数据库解决方案组成的生态圈,它由 JDBC.Proxy 和 Sidecar(规划中)这 3 款既能够 ...
- JDBC学习笔记——Java语言与数据库的鹊桥
JDBC学习笔记--Java语言与数据库的鹊桥 JDBC(Java DataBase Connectivity):SUN公司提供的 一套操作数据库的标准规范,说白了就是用Java语言来操作数据 ...
- JDBC学习笔记(1)---B站尚硅谷宋红康
JDBC学习笔记(1)-B站尚硅谷宋红康 JDBC学习笔记(2)-B站尚硅谷宋红康 文章目录 软件架构方式介绍 JavaWeb技术概览 第1章:JDBC概述 1.1 数据的持久化 1.2 Java中的 ...
- Sharding JDBC(四) 分片策略一:标准分片策略StandardShardingStrategy
目录 一.标准分片策略StandardShardingStrategy 二.StandardShardingStrategy配置实现 分库分表最核心的两点SQL 路由 . SQL 改写 applic ...
最新文章
- Python Data Structures
- Nginx配置文件粗解
- iOS:自定义模态动画 --UIPresentationController
- 题目:[NOIP2008]笨小猴
- Windows 7 下月停止支持,微软重申将全屏通知敦促用户升级系统
- JavaScriptSerializer 序列化json 时间格式
- php主机安装v2,RackTables 安装教程Installation GuideV2
- 如果你跟夕小瑶恋爱了...(上)
- 985毕业+数据分析师+做过名企项目+懂运营=跳槽失败???
- HTML/CSS进阶
- 知识图谱的概念、应用与构建
- mysql中字符串拼接函数_mysql 连接字符串操作(concat函数用法)
- 操作系统 | 内存文件映射 —— 文件到内存的映射
- 【Android工具】神器来了,游戏安装加速器ourplay,重点:附赠强大免费gmail邮箱注册...
- 云计算与大数据应用技术————21大数据2021142247537刘新敏
- golang base64解码碰到的坑
- 各种语言常用壳的特征
- 「读书笔记」第五项修炼-学习型组织的艺术与实践(一)
- mixamo骨骼_mixamo动作库的模型和动作绑定控制器的方法-上集
- Linux mint cinnamon 64bit 17.3 使用体验(一)
热门文章
- 案例:网购买到“劣质”产品,倒霉还能赚钱?
- selenium 126邮箱登录
- 50部世界名著中最经典的那一句话
- 本题要求编写程序,输出一个短句“Programming in C is fun!”。
- 世界读书日|云计算助力图书馆智慧升级
- 阿里云【名师课堂】Java零基础入门6:CLASSPATH环境属性
- 语音识别基础1:建模单元 phone
- 了解《2022年全球及中国汽车碳纤维车轮行业头部企业市场占有率及排名调研报告》
- android 图片加密,安卓手机里的图片怎么加密
- 擅长讲故事的“转转”,不可回避的四道坎