ソース掲示板




すべてから検索

キーワード   条件 表示 現行ログ 過去ログ トピックス 名前 本文
Java : MySQL jdbc アクセス
日時: 2017/05/19 23:22
名前: lightbox



※ mysql-connector-java-5.1.40-bin.jar を使用
※ useSSL=false が必要
※ System.out で出力( CSV 形式 )
※ 列名リスト取得
※ 使用した select で結果を作成
拡張子:
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;

public class WinApp extends JFrame {

	private JPanel contentPane;
	private Connection con;
	private Statement stmt;
	private ResultSet rset;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					WinApp frame = new WinApp();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public WinApp() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 450, 300);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		JButton btnMysql = new JButton("MySQL アクセス");
		btnMysql.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				
				MySqlAccess();
				
			}
		});
		btnMysql.setBounds(25, 20, 193, 21);
		contentPane.add(btnMysql);
	}
	
	
	private void MySqlAccess() {
		
		try {
			// 接続
			con = DriverManager.getConnection("jdbc:mysql://localhost/lightbox?user=root&password=パスワード&useSSL=false");
			// 実行準備
			stmt = con.createStatement();
			// 実行
			rset = stmt.executeQuery ( "select * from 社員マスタ" );
			
			boolean check = true;
			int colCount = 0;
			while( rset.next() ){
				// 初回のみ列名リストを取得
				if ( check ) {
					check = false;
					ResultSetMetaData rsmd = rset.getMetaData();
					colCount = rsmd.getColumnCount();
					// 開始は 1
					for( int i = 1; i <= colCount; i++) {
						if ( i != 1 ) {
							System.out.print(",");
						}
						System.out.print(rsmd.getColumnName(i));
					}
					System.out.println();
				}
				
				for( int i = 1; i <= colCount; i++) {
					if ( i != 1 ) {
						System.out.print(",");
					}
					System.out.print(rset.getString(i));
				}
				System.out.println();
				
			}

			// 終了処理
			rset.close();
			stmt.close();
			con.close();			
		}
		catch (Exception e) {
			e.printStackTrace();
		}
		
	}
	
}
メンテナンス


日時: 2017/05/19 23:22
名前: lightbox