Commit ba7b99b2 authored by suntao's avatar suntao

项目启动 sql 执行

parent e0708d6c
...@@ -18,7 +18,10 @@ ...@@ -18,7 +18,10 @@
<java.version>1.8</java.version> <java.version>1.8</java.version>
</properties> </properties>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId> <artifactId>spring-boot-starter</artifactId>
...@@ -145,6 +148,12 @@ ...@@ -145,6 +148,12 @@
<groupId>org.springframework.retry</groupId> <groupId>org.springframework.retry</groupId>
<artifactId>spring-retry</artifactId> <artifactId>spring-retry</artifactId>
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/ant/ant -->
<dependency>
<groupId>ant</groupId>
<artifactId>ant</artifactId>
<version>1.7.0</version>
</dependency>
</dependencies> </dependencies>
......
package cn.quantgroup.cashloanflowboss.core.init;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.taskdefs.SQLExec;
import org.apache.tools.ant.types.EnumeratedAttribute;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;
import org.springframework.util.ResourceUtils;
import java.io.File;
/**
* function:
* date: 2019/10/25
*
* @author: suntao
*/
@Component
public class BossInit implements CommandLineRunner {
@Value("${data.boss.url}")
private String url;
@Value("${data.boss.username}")
private String username;
@Value("${data.boss.password}")
private String password;
@Value("${spring.datasource.driverClassName}")
private String driverClassName;
@Override
public void run(String... strings) {
SQLExec sqlExec;
try {
String[] sql = {"/sql/base_data.sql"};
System.out.println("size: " + sql.length);
String path = ResourceUtils.getURL("classpath:").getPath();
System.out.println(path);
for(int i=0;i<sql.length;i++){
String a = sql[i];
System.out.println(a);
sqlExec = new SQLExec();
//设置数据库参数
sqlExec.setDriver(driverClassName);
sqlExec.setUrl(url);
sqlExec.setUserid(username);
sqlExec.setPassword(password);
sqlExec.setEncoding("UTF8");
//要执行的脚本
sqlExec.setSrc(new File(path + sql[i]));
//有出错的语句该如何处理
sqlExec.setOnerror((SQLExec.OnError)(EnumeratedAttribute.getInstance(
SQLExec.OnError.class, "abort")));
sqlExec.setPrint(true); //设置是否输出
sqlExec.setProject(new Project()); // 要指定这个属性,不然会出错
sqlExec.execute();
}
return ;
} catch (Exception e) {
e.printStackTrace();
return ;
}
}
}
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment