如何用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命令。

用java连接数据库啊。下面给点例子可以参考,不大好,凑合看

import java.sql.Connection

import java.sql.DriverManager

import java.sql.PreparedStatement

import java.sql.ResultSet

import java.sql.SQLException

public class JdbcConnection

{

private String driver

private String dbname

private String username

private String password

private String url

private Connection con

private PreparedStatement pstmt

private ResultSet rs

public JdbcConnection(){

this.driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"

this.dbname=数据库名"

this.username="数据库账号"

this.password="数据库密码"

this.url="地址加数据库名"

}

//创建连接方法

public Connection getconnection()

{

try

{

Class.forName(driver)

con=DriverManager.getConnection(url,username,password)

} catch (ClassNotFoundException e)

{

// TODO Auto-generated catch block

e.printStackTrace()

} catch (SQLException e)

{

// TODO Auto-generated catch block

e.printStackTrace()

}

return con

}

//关闭连接方法

public void coloseConnection(Connection con,ResultSet rs,PreparedStatement pstmt)

{

if(rs!=null)

{

try

{

rs.close()

} catch (SQLException e)

{

e.printStackTrace()

}

}

if(pstmt!=null)

{

try

{

pstmt.close()

} catch (SQLException e)

{

// TODO Auto-generated catch block

e.printStackTrace()

}

}

if(con!=null)

{

try

{

con.close()

} catch (SQLException e)

{

// TODO Auto-generated catch block

e.printStackTrace()

}

}

}

public Connection getCon()

{

return con

}

public void setCon(Connection con)

{

this.con = con

}

public PreparedStatement getPstmt()

{

return pstmt

}

public void setPstmt(PreparedStatement pstmt)

{

this.pstmt = pstmt

}

public ResultSet getRs()

{

return rs

}

public void setRs(ResultSet rs)

{

this.rs = rs

}

public String getDriver()

{

return driver

}

public void setDriver(String driver)

{

this.driver = driver

}

public String getDbname()

{

return dbname

}

public void setDbname(String dbname)

{

this.dbname = dbname

}

public String getUsername()

{

return username

}

public void setUsername(String username)

{

this.username = username

}

public String getPassword()

{

return password

}

public void setPassword(String password)

{

this.password = password

}

public String getUrl()

{

return url

}

public void setUrl(String url)

{

this.url = url

}

}

首先要引入 MySQL-connector-java-5.0.5-bin.jar 包,

package hqs

import java.sql.*

public class DataBasePractice {

  

    public static void main(String[] args) {

        //声明Connection对象

        Connection con

        //驱动程序名

        String driver = "com.mysql.jdbc.Driver"

        //URL指向要访问的数据库名mydata

        String url = "jdbc:mysql://localhost:3306/mydata"

        //MySQL配置时的用户名

        String user = "root"

        //MySQL配置时的密码

        String password = "root"

        //遍历查询结果集

        try {

            //加载驱动程序

            Class.forName(driver)

            //1.getConnection()方法,连接MySQL数据库!!

            con = DriverManager.getConnection(url,user,password)

            if(!con.isClosed())

                System.out.println("Succeeded connecting to the Database!")

            //2.创建statement类对象,用来执行SQL语句!!

            Statement statement = con.createStatement()

            //要执行的SQL语句

            String sql = "select * from student"

            //3.ResultSet类,用来存放获取的结果集!!

            ResultSet rs = statement.executeQuery(sql)

            System.out.println("-----------------")

            System.out.println("执行结果如下所示:")  

            System.out.println("-----------------")  

            System.out.println(" 学号" + "\t" + " 姓名")  

            System.out.println("-----------------")  

              

            String name = null

            String id = null

            while(rs.next()){

                //获取stuname这列数据

                name = rs.getString("stuname")

                //获取stuid这列数据

                id = rs.getString("stuid")

                //首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。

                //然后使用GB2312字符集解码指定的字节数组。

                name = new String(name.getBytes("ISO-8859-1"),"gb2312")

                //输出结果

                System.out.println(id + "\t" + name)

            }

            rs.close()

            con.close()

        } catch(ClassNotFoundException e) {   

            //数据库驱动类异常处理

            System.out.println("Sorry,can`t find the Driver!")   

            e.printStackTrace()   

            } catch(SQLException e) {

            //数据库连接失败异常处理

            e.printStackTrace()  

            }catch (Exception e) {

            // TODO: handle exception

            e.printStackTrace()

        }finally{

            System.out.println("数据库数据成功获取!!")

        }

    }

  

}


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

原文地址: http://outofmemory.cn/sjk/6675749.html

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

发表评论

登录后才能评论

评论列表(0条)

保存