Maven之数据库初始化

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中。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值