step 1 : 配置maven的策略
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>${exec.maven.plugin.version}</version>
<executions>
<execution>
<phase>prepare-package</phase>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>com.test.SchemaGenerator</mainClass>
<arguments>
<argument>com.test.db.entity</argument>
<argument>${project.basedir}/sql/</argument>
<argument>test.sql</argument>
</arguments>
</configuration>
</plugin>
step 2 :实现策略操作:
Configuration cfg;
cfg = new Configuration();
cfg.setProperty("hibernate.hbm2ddl.auto", "create");// 从包中得到所有相关class
File directory = null;
ClassLoader cld = Thread.currentThread().getContextClassLoader();
URL resource = getResource(packageName, cld);
directory = new File(resource.getFile());
Class.forName(className)
for clazz in classes
cfg.addAnnotatedClass(clazz);
cfg.setProperty("hibernate.dialect","org.hibernate.dialect.MySQLDialect");
SchemaExport export = new SchemaExport(cfg);
export.setDelimiter(":");
export.setOutputFile(directory + fileName);
export.setFormat(true);
export.execute(true, false, false, false);
浙公网安备 33010602011771号