前言
之所以要用maven来执行sql语句或者文件,是因为在日常开发或者测试过程中保证每次构建完之后是一个“干净”的项目呈现在面前。
怎么用
使用maven执行sql语句需要依赖sql-maven-plugin这个插件,下面就直接从项目pom文件的配置入手进行简要介绍:
buglife-data-access
org.codehaus.mojo
sql-maven-plugin
1.5
mysql
mysql-connector-java
5.1.27
com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306
root
root
create-db
process-test-resources
execute
true
src/main/resources/create_db.sql
create-table
process-test-resources
execute
true
src/main/resources/create_table.sql
insert-data
process-test-resources
execute
ascending
${basedir}
src/main/resources/init_data.sql
以上pom文件中皆是执行的sql文件而没选择执行sql命令,原因是为了改SQL语句的时候可以集中在一块修改,而不去轻易的修改项目文件(POM).若要执行sql命令则可以使用类似于下面的语句替代
create database `webutil`;
当然另一点需要注意的是即指定执行在maven生命周期的哪个环节,关于maven生命周期的说明可以参考http://my.oschina.net/crazyharry/blog/353978