Maven之数据库初始化

来源:互联网 发布:什么软件可以做动漫 编辑:程序博客网 时间:2024/05/29 18:39

maven有dbunit-maven-plugin,可以用来初始化数据库,但用maven-antrun-plugin插件与dbunit,也可完美实现数据库初始化的功能,今天记录maven-antrun-plugin的方式。

maven的profile部分声明

<profiles>        <!-- 初始化数据库 -->                 <profile>            <id>init-db</id>            <dependencies>                <dependency>                    <groupId>org.dbunit</groupId>                    <artifactId>dbunit</artifactId>                    <version>2.4.8</version>                </dependency>                <dependency>                    <groupId>org.apache.poi</groupId>                    <artifactId>poi</artifactId>                    <version>3.2-FINAL</version>                </dependency>            </dependencies>            <build>                <plugins>                    <plugin>                        <groupId>org.apache.maven.plugins</groupId>                        <artifactId>maven-antrun-plugin</artifactId>                        <version>1.7</version>                        <configuration>                            <target>                                <!-- mysql -->                                <property name="dbunit.datatype" value="org.dbunit.ext.mysql.MySqlDataTypeFactory" />                                <!-- mssql                                <property name="dbunit.datatype" value="org.dbunit.ext.mssql.MsSqlDataTypeFactory" /> -->                                <!-- oracle                                <property name="dbunit.datatype" value="org.dbunit.ext.oracle.Oracle10DataTypeFactory" /> -->                                <property file="src/main/resources/jeesite.properties" />                                <sql driver="${jdbc.driver}" url="${jdbc.url}" userid="${jdbc.username}" password="${jdbc.password}"                                     onerror="continue" encoding="${project.build.sourceEncoding}">                                    <classpath refid="maven.test.classpath" />                                    <transaction src="db/**/**_${jdbc.type}.sql"/>                                    <transaction src="db/**/**_${jdbc.type}.sql"/>                                    <transaction src="db/**/**_${jdbc.type}.sql"/>                                    <transaction src="db/**/**_${jdbc.type}.sql"/>                                    <transaction src="db/**/**_${jdbc.type}.sql"/>                                </sql>                                <taskdef name="dbunit" classname="org.dbunit.ant.DbUnitTask" classpathref="maven.test.classpath" />                                <!-- mysql、mssql -->                                <dbunit driver="${jdbc.driver}" url="${jdbc.url}" userid="${jdbc.username}"                                     password="${jdbc.password}">                                <!-- oracle                                <dbunit driver="${jdbc.driver}" url="${jdbc.url}" userid="${jdbc.username}"                                    password="${jdbc.password}" schema="${jdbc.username}" > -->                                    <dbconfig>                                        <property name="datatypeFactory" value="${dbunit.datatype}" />                                    </dbconfig>                                    <classpath refid="maven.test.classpath" />                                    <operation type="INSERT" src="db/**/**.xls" format="xls" transaction="true"/>                                    <operation type="INSERT" src="db/**/**.xls" format="xls" transaction="true"/>                                </dbunit>                            </target>                        </configuration>                    </plugin>                </plugins>            </build>        </profile>

按模块将sql文件放入指定目录,调用 antrun:run -Pinit-db,表结构及数据一并执行,数据库初始化完成。

excel数据导入格式

这里写图片描述
按字段名,数据依次放入数据,可以从原始测试表中导出。多张表数据放置于不同的sheet中。

原创粉丝点击