基于JDBC的SQL脚本执行工具

基于JDBC的SQL脚本执行工具

  • 背景
  • SQLRunner
  • SQL脚本的构成
    • SQL注释
    • SQL语句
  • SQLRunner的机制
  • 下载地址

背景

软件项目实施过程中经常碰到没有可用的客户端工具来执行数据库初始化脚本,或者数据库脚本的编码格式与客户端的编码格式不一致,产生乱码。SQL脚本是SQL语句的集合,拆分为一条条SQL执行。可以基于Java JDBC,或者其他数据库访问接口,编写一个SQL脚本执行工具,解决项目实施过程中的SQL执行问题。

SQLRunner

SQLRunner 是基于JDBC实现的一个脚本执行工具,通过更换JDBC Driver可以支持多种数据库,不依赖任何数据库客户端工具。

SQL脚本的构成

一个SQL脚本文件内容有两部分构成:SQL注释SQL语句。SQL脚本本质上是文本文件,可以一行一行读取。

SQL注释

  • 单行注释
    以 # 或者 --为行首的行是一个SQL单行注释。
  • 多行注释
    被 /* */包裹的一行或多行是一个SQL多行注释

SQL语句

SQL脚本中使用 语句分隔符 限定SQL语句之间的界限,把脚本中SQL语句划分开。通用的SQL语句分隔符是 ‘;’ 。如果SQL语句中包含 ‘;’ 可以利用数据库提供分隔符服务重置语句来指定新的分隔符。 如: MySQL中可以使用DELIMITER重新定义分隔符 , DELIMITER $$。

SQLRunner的机制

不采用语法解析的方式来分解SQL脚本中的SQL语句,借助SQL注释符、SQL语句限定符来分解SQL脚本。

  • 采用字符流,按行读取SQL脚本文件
  • 根据SQL注释语法跳过SQL注释行
  • 利用SQL语句限定符将SQL脚本拆分为一条一条的SQL语句,顺序执行。
  • 自动提交事务,一条语句一提交。

下载地址

CSDN下载地址

你可能感兴趣的:(数据库)