java mysql 导出sql文件_用java代码导出sql文件 | 学步园

package test;

import java.awt.Color;

import java.awt.Dimension;

import java.awt.Toolkit;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.File;

import java.io.FileWriter;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.UIManager;

import javax.swing.UnsupportedLookAndFeelException;

/**

* @author meemei

*

2010 2010-4-27 下午02:18:07

*/

@SuppressWarnings("serial")

public class LogonFrame extends JFrame {

//private JPasswordField passwordField;

private String frameName ;

/**

* Launch the application

* @param args

*/

// 用户名;

String user = "root" ;

// 密码;

String password = "root";

//连接数据库的url;

String url = "jdbc:mysql://localhost:3306/meemei";

//查询的表sql语句;

String sql = "select * from t_position_type";

// 备份文件的路径和名称;

String file = "d://meemei.mdb";

//

public static void main(String args[]) {

try {

LogonFrame frame = new LogonFrame("导出数据");

frame.setVisible(true);

} catch (Exception e) {

e.printStackTrace();

}

}

/**

* Create the frame

*/

public LogonFrame( String frameName ) {

super();

setTitle("导出数据");

//setIconImage(SwingResourceManager.getImage(LogonFrame.class, "/image/title.jpg"));

this.frameName = frameName ;

String windows = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";

try {

UIManager.setLookAndFeel(windows);

} catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (InstantiationException e) {

e.printStackTrace();

} catch (IllegalAccessException e) {

e.printStackTrace();

} catch (UnsupportedLookAndFeelException e) {

e.printStackTrace();

}

getContentPane().setLayout(null);

setBounds(100, 100, 424, 272);

Dimension screensize = Toolkit.getDefaultToolkit().getScreenSize();

Dimension framesize = this.getSize();

int x = (int) screensize.getWidth() / 2 - (int) framesize.getWidth()

/ 2;

int y = (int) screensize.getHeight() / 2 - (int) framesize.getHeight()

/ 2;

this.setLocation(x, y);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

final JPanel panel = new JPanel();

panel.setLayout(null);

panel.setBounds(0, 0, 416, 238);

getContentPane().add(panel);

final JButton button = new JButton();

button.addActionListener(new ActionListener() {

public void actionPerformed(final ActionEvent e) {

try {

//调用封装好的私有的方法;

boolean flag = export(url, user, password, sql, file);

if ( flag ) {

JOptionPane.showMessageDialog(null, "导出文件成功!");

}

} catch (Exception e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

}

});

button.setText("导出数据");

button.setBounds(83, 57, 106, 28);

panel.add(button);

final JLabel label = new JLabel();

label.setForeground(new Color(255, 0, 0));

label.setText("导出数据");

label.setBounds(171, 10, 72, 28);

panel.add(label);

final JButton button_1 = new JButton();

button_1.setText("New JButton");

button_1.setBounds(202, 57, 106, 28);

panel.add(button_1);

final JButton button_2 = new JButton();

button_2.setText("New JButton");

button_2.setBounds(83, 114, 106, 28);

panel.add(button_2);

final JButton button_3 = new JButton();

button_3.setText("New JButton");

button_3.setBounds(202, 114, 106, 28);

panel.add(button_3);

final JButton button_4 = new JButton();

button_4.setText("New JButton");

button_4.setBounds(83, 169, 106, 28);

panel.add(button_4);

final JButton button_5 = new JButton();

button_5.setText("New JButton");

button_5.setBounds(202, 169, 106, 28);

panel.add(button_5);

}

/** 私有的导出数据的方法;

* @param url

* @param user

* @param password

* @param sql

* @param file

* @return

* @throws Exception

*/

@SuppressWarnings("unused")

private static boolean export(String url ,String user ,String password ,String sql ,String file ) throws Exception {

boolean flag = false ;

//注册mysql连接驱动;

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

FileWriter out = new FileWriter (file) ;

Connection connection = DriverManager.getConnection(url, user, password);

Statement st = connection.createStatement();

//查看表结构

String table = "desc t_position_type";

ResultSet rs = st.executeQuery(table);

out.write("|");

while ( rs.next() ) {

out.write( (String) rs.getObject(1) + "                |");// 输出表的列名

}

out.write("\n");

//sql = "select * from t_position_type";

ResultSet rs2 = st.executeQuery(sql);//sql查询语句

while ( rs2.next() ) {

out.write("|");

out.write( rs2.getInt(1) + "                 |");

out.write( rs2.getString(2)+"                 |");

out.write( rs2.getDate(3) + "                 |\n");

}

out.flush();

out.close();

//判断文件是否存在!

File file2 = new File ( file ) ;

if ( file2.exists() && file2.length() > 0 ) {

flag = true ;

}

return flag;

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值