`

Java调用Mysql——格式及运行机制

阅读更多
命令格式:
command = "cmd /c mysql -h127.0.0.1 -utiger -p111111 test < d:\tpl.sql -f --default-character-set=utf8 


运行方式:
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec(command);


信息处理:
// 收集所有错误信息
StreamRedirectGobbler errorGobbler = new StreamRedirectGobbler(proc
					.getErrorStream(), "ERROR", dbname);

// 收集所有输入信息
StreamRedirectGobbler outputGobbler = new StreamRedirectGobbler(
					proc.getInputStream(), "OUTPUT", "D:tmp.sql", dbname);
// 启动
errorGobbler.start();
outputGobbler.start();
// 返回子进程的出口值 0表示正常终止
exitVal = proc.waitFor();


信息处理类:
import java.io.BufferedReader;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;

public class StreamRedirectGobbler extends Thread {

	private InputStream is;
	private String type;
	private String fileName;
	private String dbname;

	public void setDbname(String dbname) {
		this.dbname = dbname;
	}

	StreamRedirectGobbler(InputStream is, String type, String fileName,
			String dbname) {
		this.is = is;
		this.type = type;
		this.fileName = fileName;
		this.dbname = dbname;
	}

	StreamRedirectGobbler(InputStream is, String type, String dbname) {
		this(is, type, null, dbname);
	}

	public void run() {
		PrintWriter pw = null;
		try {
			if (fileName != null) {
				pw = new PrintWriter(new FileOutputStream(fileName));
			}

			InputStreamReader isr = new InputStreamReader(is);
			BufferedReader br = new BufferedReader(isr);
			String line = null;

			// 获取输入 并把 输入作为输出 进行重定向
			while ((line = br.readLine()) != null) {
				//System.out.println(dbname);
				line = line.replace("[dbname]", dbname);
				//System.out.println(pw);
				if (pw != null)
					pw.println(line);
				System.out.println(type + ">" + line);
			}
			if (pw != null)
				pw.flush();

		} catch (IOException ioe) {
			ioe.printStackTrace();
		} finally {
			if (pw != null)
				pw.close();
		}
	}

}
分享到:
评论

相关推荐

    09_Java Web——Request&Response案例

    Java Web开发是构建Web应用程序的一种常见方式,它主要基于Java技术栈。在"09_Java Web——Request&Response案例"这个主题中,我们...通过分析和运行这些代码,你可以更深入地理解Java Web中的Request和Response机制。

    java面试——深圳-商汤科技-Java高级.zip

    6. **反射与动态代理**:Java反射机制允许程序在运行时检查类的信息,并动态创建对象或调用方法。而动态代理则可以用于实现AOP(面向切面编程)或者为接口创建代理类。 7. **IO/NIO/BIO**:理解Java的输入输出模型...

    java实现的教学管理系统——适合java进阶入门者

    类的定义、对象的创建及方法的调用都是OOP的核心内容。 2. **数据结构和数据库操作**:系统可能包含学生数据库和任务数据库,这涉及到了数据存储和查询。在Java中,可能使用ArrayList、HashMap等数据结构来组织数据...

    Java毕业设计——医院管理住院系统的研究与实现(论文+答辩PPT+源代码+数据库).zip

    7. **异常处理与日志记录**:为了确保系统的稳定性和可追踪性,开发中会加入异常处理机制,并使用如Log4j的日志记录工具,记录系统运行过程中的异常和关键操作。 8. **测试与调试**:为了确保软件质量,开发者可能...

    jsp struts2 mysql实现的Java web员工工资管理系统

    《基于JSP、Struts2和MySQL的Java Web员工工资管理系统》 本系统是一个完整的Java Web应用程序,采用经典的MVC(Model-View-Controller)设计模式,主要利用JSP、Struts2框架以及MySQL数据库来实现对员工工资的管理...

    清华大学Java教程

    7. **反射机制**:通过反射,程序可以在运行时动态地获取类的信息并操作类的对象,包括类加载、构造函数调用、字段和方法访问。 8. **Java API和标准库**:熟悉Java的标准库,如IO包、NIO包、网络编程包、XML处理包...

    数据库课设:图书馆管理系统(Java+MySQL).zip

    《图书馆管理系统——基于Java与MySQL的实现》 在信息技术飞速发展的今天,数据库技术与编程语言的结合在各个领域都发挥着重要的作用。本项目是一个典型的数据库课设,旨在通过构建一个图书馆管理系统,让学生深入...

    java源码包---java 源码 大量 实例

     Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码,...

    Java学习路线(csdn)————程序.pdf

    6. **异常处理机制**:介绍异常分类、编译型和运行时异常,异常的声明、捕获和处理,以及Java 7的新特性。 7. **高级特性**:包括输入输出(IO)系统,如File类、各种流的使用、文件复制和序列化读写。另外,讨论了...

    数据库课程设计——机票预订系统 JSP+MySQL.zip

    在本项目中,“数据库课程设计——机票预订系统 JSP+MySQL.zip”是一个综合性的实践项目,旨在教授学生如何使用JSP(JavaServer Pages)和MySQL数据库来开发一个在线机票预订系统。这个系统允许用户浏览可用航班,...

    JSP源码——阳光酒店管理系统(javaapplet+SQL).zip

    《JSP源码——阳光酒店管理系统(javaapplet+SQL)》是一个基于Java技术的Web应用程序,主要用于实现酒店的日常管理功能。在这个系统中,开发者利用了JSP(JavaServer Pages)作为动态网页开发语言,结合SQL数据库进行...

    JSP源码——酒店订单管理系统(Jsp+servlet+mysql).zip

    《JSP源码——酒店订单管理系统》是一款基于JSP、Servlet和MySQL数据库的Web应用程序,旨在为用户提供方便快捷的在线预订酒店服务。本系统涵盖了从用户注册、登录、浏览房间、选择日期、下单支付到订单管理等一系列...

    JSP源码——聊天系统(java+applet).zip

    【JSP源码——聊天系统(java+applet)】 这个压缩包文件包含了一个基于JSP技术的聊天系统,其中融合了Java和Applet的技术。JSP(JavaServer Pages)是Sun Microsystems开发的一种动态网页技术,它允许开发者在HTML...

    java源码包3

     Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码...

    java源码包2

     Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码...

    RoadMap —— Java后端开发技能路书.zip

    6. **反射机制**:Java反射允许我们在运行时动态访问类的信息,创建对象,调用方法。它是实现元编程和插件化的重要手段。 7. **设计模式**:包括工厂模式、单例模式、观察者模式、装饰器模式等23种经典设计模式,...

    课程设计——员工管理系统

    总结起来,这个"课程设计——员工管理系统"涵盖了Java Web开发的关键技术,包括JSP、Servlet、数据库操作、会话管理等,对初学者来说是一个很好的实战项目,有助于提升实际开发能力和对Web应用整体流程的理解。

    毕业设计网上商城——j2ee

    11. **容器管理**:如Tomcat或GlassFish,它们提供了运行Java EE应用的环境,负责部署、管理组件以及提供服务。 12. **安全机制**:理解并实施用户认证和授权,如使用JAAS(Java Authentication and Authorization ...

    JAVA上百实例源码以及开源项目源代码

    Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书 Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java...

    java毕业设计之杭商校园零食预约管理系统源码(ssm+mysql+说明文档).zip

    本项目——"杭商校园零食预约管理系统",就是利用Java的SSM(Spring、SpringMVC、MyBatis)框架,结合MySQL数据库进行的一次生动实践,旨在为学生提供便捷的零食预订服务。本文将详细介绍该系统的设计理念、技术选型...

Global site tag (gtag.js) - Google Analytics