SpringBoot启动项目自动初始化执行sql

今天的积累都是为了更好的明天,加油!我是java程序员可以关注我一起学习哈! 

/**
 * 启动项目自动初始化执行
 */
@Component
public class InitProject implements ApplicationRunner {
    private static final Logger logger = LoggerFactory.getLogger("InitProject");
    @Override
    public void run(ApplicationArguments args) throws Exception {
        logger.info("==========init project start ===========");
        RunSqlScriptUtils.run("testsql");
        logger.info("==========init project end ===========");
    }
}
/**
 * 运行Sql脚本
 * sql脚本放在resources下的sql文件夹下
 */
public class RunSqlScriptUtils {
    /**
     * 

运行指定的sql脚本 * @param sqlFileName 需要执行的sql脚本的名字 */ public static void run(String sqlFileName) { try { // 获取数据库相关配置信息 Properties props = Resources.getResourceAsProperties("db.properties"); String ifinit = props.getProperty("ifinit"); if ("true".equals(ifinit)){ // jdbc 连接信息: 注: 现在版本的JDBC不需要配置driver,因为不需要Class.forName手动加载驱动 String url = props.getProperty("jdbc.url"); String username = props.getProperty("jdbc.username"); String password = props.getProperty("jdbc.password"); // 建立连接 Connection conn = DriverManager.getConnection(url, username, password); // 创建ScriptRunner,用于执行SQL脚本 ScriptRunner runner = new ScriptRunner(conn); runner.setErrorLogWriter(null); runner.setLogWriter(null); // 执行SQL脚本 runner.runScript(Resources.getResourceAsReader("sql/" + sqlFileName + ".sql")); // 关闭连接 conn.close(); // 若成功,打印提示信息 System.out.println("====== SUCCESS ======"); } } catch (IOException | SQLException e) { e.printStackTrace(); } } public static void main(String[] args) { RunSqlScriptUtils.run("testsql"); } }

SpringBoot启动项目自动初始化执行sql_第1张图片

你可能感兴趣的:(java编程)