如何用java实现mysql数据库的导入导出

如何用java实现mysql数据库的导入导出,第1张

MySql导出数据库命令如下:

Sql代码

mysqldump -uusername -ppassword -hhost -Pport exportDatabaseName >exportPath

mysqldump -uusername -ppassword -hhost -Pport exportDatabaseName >exportPath

利用Java调用命令窗口执行命令来进行MySql导入数据库一般分三步走:

第一步:登录Mysql数据库,在登录数据库的时候也可以指定登录到哪个数据库,如果指定了则可以跳过第二步;

第二步:切换数据库到需要导入的目标数据库

第三步:利用命令开始导入

在进行导出的时候,需要注意命令语句的运行环境,如果已经将mysql安装路径下的bin加入到

系统的path变量中,那么在导出的时候可以直接使用命令语句,否则,就需要在执行命令语句的

时候加上命令所在位置的路径,即mysql安装路径想的bin下的mysqldump命令。

首先导入 mysql-connector-java-5.1.45-bin.jar 包

代码如下:

import java.io.*

import java.sql.*

public class App {

    public static void main(String[] args) {

        

        try {

            

            Class.forName("com.mysql.jdbc.Driver")

            

            // 数据库用户

            String user = "root"

            

            // 数据库密码

            String password = ""

            

            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_sale", user, password)

            

            Statement stmt = conn.createStatement()

            

            // 查询 , 从数据库 db_sale 的 product 表中查询 id, name, qty 字段

            ResultSet rs = stmt.executeQuery("SELECT id, name, qty FROM product")

            

            // 创建输出文件 result.txt

            File file = new File("d://result.txt")

            OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(file))

            

            while (rs.next()) {

                

                writer.write(String.valueOf(rs.getLong(1)) + "\t")

                writer.write(rs.getString(2) + "\t")

                writer.write(String.valueOf(rs.getInt(3)))

                writer.write("\r\n")

                

                //System.out.println(rs.getLong(1))

                //System.out.println(rs.getString(2))

                //System.out.println(rs.getLong(3))

            }

            

            writer.flush()

            writer.close()

            

            rs.close()

            stmt.close()

            conn.close()

            

        } catch (Exception e) {

            e.printStackTrace()

        }

    }

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/8682158.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-19
下一篇2023-04-19

发表评论

登录后才能评论

评论列表(0条)

    保存