美文网首页Windows批处理指南
Windows批处理切换jdbc配置文件

Windows批处理切换jdbc配置文件

作者: ettingshausen | 来源:发表于2017-07-12 20:24 被阅读12次

Java Web 开发中经常要切换数据库,还比较频繁。每切换一次就要重新配置一次 jdbc.properites 实在是麻烦。当然,maven支持多种配置,但是,速度太慢,切换一下得刷新一会儿。通过批处理的方式就快多了。

先看下 jdbc.properties 的内容

# 
#Copyright © 2017 NPKW
#  
jdbc.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver  
jdbc.url=jdbc:sqlserver://localhost;DatabaseName=Database  
jdbc.username=sa 
jdbc.password=password

前三行是注释,真正有用的是后面的4行。以切换本地的数据库与服务端的数据库为例,jdbc.properties 中的区别只是最后的三行。很自然的想到,只要能把最后的三行替换掉就行了。顺着这个思路,用批处理脚本,替换掉最后三行。实际操作的时候发现,要控制读取替换具体的某一行还是比较麻烦的操作。

考虑这个文件只有几行,可以直接将其全部覆盖。只需要将每次的配置用批处理输出到配置文件就可以了。

@echo off
SETLOCAL

set Comment=#
set Copyright=Copyright © 2017 NPKW
set Driver=jdbc.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
set LocalHost=jdbc.url=jdbc:sqlserver://localhost;DatabaseName=Database
set UserName=jdbc.username=sa
set Password=jdbc.password=password

(echo %Comment% & echo %Comment%%Copyright%  & echo %Comment%  & echo %Driver%  & echo %LocalHost%  & echo %UserName% & echo %Password%) > jdbc.properties

SETLOCAL 的意思是脚本中定义的变量,只在当前会话中有效,脚本执行完成之后,变量就会被释放掉。为了不污染系统的环境变量,最好先使用 SETLOCAL。 然后,把将要组合的文本存储在各个变量中。 最后拼接各个变量输出到jdbc.properties。注意使用 > 符号是覆盖, >> 是追加。两个取出的字符不需要任何连接符,比如 %Comment%%Copyright%

回过头来看,批处理的变量的使用方式, 不需要声明,又有点像 T-SQL 语法。而且通过 /A 参数,可以用一个表达式初始化一个变量。例如: set /a sum=1+1 , sum 的值为2。 特别注意的地方,默认初始化变量, = 两边不要有空格。 例如 set b = 1 ,用 echo %b% 输出得到是 %b% 而不是 1。

一开始曾想用 Powershell 去做,Powershell 非常的强大,几乎支持 .NET 的所有操作,但是 IDEA Intelij 不支持 Powershell 直接运行, 而且 Powershell 有多个版本,新的机器支持,老的机器或许就不支持了。 批处理脚本则不一样,虽然功能看起来弱了些,但是非常的稳定,兼容性也非常好,现在市面上的 Windows 系统都能够支持它。

相关文章

  • Windows批处理切换jdbc配置文件

    Java Web 开发中经常要切换数据库,还比较频繁。每切换一次就要重新配置一次 jdbc.properites ...

  • 批处理收集

    批处理判断系统执行 批处理读取配置文件 配置文件config.ini内容如下 批处理内容如下 Origin创建桌面...

  • windows批处理切换java环境

    当windows下安装多个jdk版本时,方便在各给版本之间切换,每个版本写成一个bat文件,要切换到那个版本就运行...

  • 数据库(四)2018-08-27

    1. JDBC操作事务 2. JDBC进行批处理 3. DBCP的简介: 概述: DataBase Connect...

  • JDBC批处理

    import java.sql.Connection;import java.sql.DriverManager;...

  • logstash 实时增量同步oracle 到datahub s

    配置文件: 配置文件说明 input input{jdbc{#jdbc sql server 驱动,各个数据库都有...

  • 2019-05-23 Mybatis批量新增数据

    1.使用传统jdbc对数据进行插入 传统的jdbc插入包括2种方式,使用for循环和使用jdbc的批处理 (一)f...

  • BatchExecutor

    BatchExecutor BatchExecutor 处理 多条SQL 情况。JDBC 中的批处理只支持 ins...

  • Windows批处理命令

    Windows下不区分大小写! Batch: batch -- 批处理;batch file -- 批处理文件;D...

  • 第十一篇学习总结

    第十一篇学习总结 一、JDBC批处理 批处理是指将多条SQL语句分组到批处理中,并通过对数据库的一次调用提交它们,...

网友评论

    本文标题:Windows批处理切换jdbc配置文件

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