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();
    	}
    }
    
    
  • 相关阅读:
    Xcopy参数介绍
    C# 子窗体中调用父窗体中的方法(或多窗体之间方法调用)
    WinForm窗体之间交互的一些方法(转)
    C#.Net组件开发 使用Attach to Process实时调试设计器代码(转)
    win7以管理员身份运行程序
    如何关闭Windows7的UAC
    用“回车”键代替“Tab”键
    笑话20110928
    项目管理师
    软考计算机技术与软件专业技术资格(水平)考试
  • 原文地址:https://www.cnblogs.com/zifeiy/p/10130748.html
Copyright © 2011-2022 走看看