maven执行SQL语句

小鱼儿 2024-04-07 12:36 83阅读 0赞

前言

之所以要用maven来执行sql语句或者文件,是因为在日常开发或者测试过程中保证每次构建完之后是一个“干净”的项目呈现在面前。

怎么用

使用maven执行sql语句需要依赖sql-maven-plugin这个插件,下面就直接从项目pom文件的配置入手进行简要介绍:

  1. <build>
  2. <finalName>buglife-data-access</finalName>
  3. <plugins>
  4. <!--添加sql-maven-plugin插件-->
  5. <plugin>
  6. <groupId>org.codehaus.mojo</groupId>
  7. <artifactId>sql-maven-plugin</artifactId>
  8. <version>1.5</version>
  9. <!---因为该实例中用到的数据库是mysql,故需依赖于mysql连接驱动-->
  10. <dependencies>
  11. <dependency>
  12. <groupId>mysql</groupId>
  13. <artifactId>mysql-connector-java</artifactId>
  14. <version>5.1.27</version>
  15. </dependency>
  16. </dependencies>
  17. <!--为该插件配置数据库连接信息-->
  18. <configuration>
  19. <driver>com.mysql.jdbc.Driver</driver>
  20. <url>jdbc:mysql://localhost:3306</url>
  21. <username>root</username>
  22. <password>root</password>
  23. </configuration>
  24. <executions>
  25. <!--创建数据库-->
  26. <execution>
  27. <id>create-db</id>
  28. <phase>process-test-resources</phase>
  29. <goals>
  30. <goal>execute</goal>
  31. </goals>
  32. <configuration>
  33. <!--设置自动提交事务-->
  34. <autocommit>true</autocommit>
  35. <srcFiles>
  36. <srcFile>src/main/resources/create_db.sql</srcFile>
  37. </srcFiles>
  38. </configuration>
  39. </execution>
  40. <!--创建数据表-->
  41. <execution>
  42. <id>create-table</id>
  43. <phase>process-test-resources</phase>
  44. <goals>
  45. <goal>execute</goal>
  46. </goals>
  47. <configuration>
  48. <autocommit>true</autocommit>
  49. <srcFiles>
  50. <srcFile>src/main/resources/create_table.sql</srcFile>
  51. </srcFiles>
  52. </configuration>
  53. </execution>
  54. <!--插入数据-->
  55. <execution>
  56. <id>insert-data</id>
  57. <phase>process-test-resources</phase>
  58. <goals>
  59. <goal>execute</goal>
  60. </goals>
  61. <configuration>
  62. <orderFile>ascending</orderFile>
  63. <fileset>
  64. <basedir>${basedir}</basedir>
  65. <includes>
  66. <include>src/main/resources/init_data.sql</include>
  67. </includes>
  68. </fileset>
  69. </configuration>
  70. </execution>
  71. </executions>
  72. </plugin>
  73. </plugins>
  74. </build>

以上pom文件中皆是执行的sql文件而没选择执行sql命令,原因是为了改SQL语句的时候可以集中在一块修改,而不去轻易的修改项目文件(POM).若要执行sql命令则可以使用类似于下面的语句替代

  1. <sqlCommand>create database `webutil`;</sqlCommand>

当然另一点需要注意的是即指定执行在maven生命周期的哪个环节,关于maven生命周期的说明可以参考http://my.oschina.net/crazyharry/blog/353978

发表评论

表情:
评论列表 (有 0 条评论,83人围观)

还没有评论,来说两句吧...

相关阅读

    相关 maven执行SQL语句

    前言 之所以要用maven来执行sql语句或者文件,是因为在日常开发或者测试过程中保证每次构建完之后是一个“干净”的项目呈现在面前。 怎么用 使用maven执行s

    相关 SQL语句执行顺序

    ql和mysql执行顺序,发现内部机制是一样的。最大区别是在别名的引用上。  一、sql执行顺序  (1)from  (3) join  (2) on 

    相关 SQL语句执行顺序

    查询语句中select from where group by having order by的执行顺序   1.查询中用到的关键词主要包含六个,并且他们的书写顺序依次为 

    相关 SQL语句执行顺序

    SQL Select语句完整的执行顺序:  1、from子句组装来自不同数据源的数据;  2、where子句基于指定的条件对记录行进行筛选;  3、group by子句将

    相关 SQL语句执行流程

    SQL语句执行流程 前言 查询语句 更新语句 总结 前言 在上一篇文章中,我们介绍了MySQL的基础架构组成,本文来给大家介绍SQL语句在