zoukankan      html  css  js  c++  java
  • Java使用MyBatis的ScriptRunner执行SQL脚本

    脚本文件D:/test_transaction.sql

    start transaction; 
    drop table if exists testdb.test_transaction_table;
    create table testdb.test_transaction_table select table_name from information_schema.tables;
    commit;
    

    依赖maven坐标:

    		<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
    		<dependency>
    		    <groupId>mysql</groupId>
    		    <artifactId>mysql-connector-java</artifactId>
    		    <version>6.0.6</version>
    		</dependency>
    		
    		<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
    		<dependency>
    		    <groupId>org.mybatis</groupId>
    		    <artifactId>mybatis</artifactId>
    		    <version>3.4.6</version>
    		</dependency>
    

    示例程序:

    package com.zifeiy.test.normal;
    
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.nio.charset.Charset;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    
    import org.apache.ibatis.io.Resources;
    import org.apache.ibatis.jdbc.ScriptRunner;
    
    public class RunScriptTest {
    	private static String APPENDED_DB_INFO 
        = "?useUnicode=true&characterEncoding=UTF8" 
                + "&rewriteBatchedStatements=true" 
                + "&useLegacyDatetimeCode=false" 
                + "&serverTimezone=Asia/Shanghai"
                + "&useSSL=false";
    	private static String className   	= "com.mysql.jdbc.Driver";
        private static String url         			= "jdbc:mysql://localhost:3306/testdb" + APPENDED_DB_INFO;
        private static String username		= "root";
        private static String password		= "password";
        private static Connection connection      = null;
        
        public static void main(String[] args) throws ClassNotFoundException, SQLException, FileNotFoundException {
    		Class.forName(className);
    		connection = DriverManager.getConnection(url, username, password);
    		ScriptRunner scriptRunner = new ScriptRunner(connection);
    		Resources.setCharset(Charset.forName("UTF8"));
    //		scriptRunner.setLogWriter(null);
    		scriptRunner.runScript(new FileReader(new File("D:/test_transaction.sql")));
    		scriptRunner.closeConnection();
    		connection.close();
    	}
    }
    
    
  • 相关阅读:
    算法刷题训练(2020.10.6)
    使用Gitee作为图片仓库,博客园引入图片【2020.10.3】
    阿里云DevOps助理工程师认证学习笔记:敏捷项目管理+需求分析【2020.10.2 10.3】
    算法刷题训练(2020.9.30)
    爬取百度贴吧数据(练习Python爬虫)
    算法刷题训练(2020.9.29)
    算法刷题训练(2020.9.28)
    软件测试:软件开发模型和软件测试模型
    计算机组成原理练习题(有助于理解概念)
    wamp环境下Wordpress的安装
  • 原文地址:https://www.cnblogs.com/zifeiy/p/10130748.html
Copyright © 2011-2022 走看看