Java_ABC_1.連接MySQL數據庫

package jdbc;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;

import org.apache.solr.client.solrj.SolrServerException;

import solrj.LinkSolrJ;

public class Mysql {
	
	private int m_id = 0;
	private Connection m_con = null;
	private Statement m_stat = null;
	private ResultSet m_result = null;
	
	private void readMaxId() throws IOException
	{
		String input = "configure.dat";
		BufferedReader reader = new BufferedReader(new FileReader(input));
		
		String temp = reader.readLine();
		
		m_id = Integer.valueOf(temp);
		reader.close();
	}
	private void writeMaxId() throws IOException
	{
		String output = "configure.dat";
		PrintWriter writer = new PrintWriter(new FileWriter(output));
		
		writer.print(m_id);
		
		writer.close();
	}
	public void linkMySQL(String _database, String _usr, String _pwd) 
            throws ClassNotFoundException, SQLException, IOException
	{
		readMaxId();
		
		//1. 加載MySQL的JDBC驅動
		Class.forName("org.gjt.mm.mysql.Driver");

		System.out.println("加載JDBC驅動!");
		
		//2. 建立數據庫連接		
		m_con = DriverManager.getConnection(_database, _usr, _pwd);

		System.out.println("建立鏈接!");
		
		//3. 創建執行SQL語句的聲明
		m_stat = m_con.createStatement();
		
		//4. 執行查詢,返回結果
		String sql = "select * from profile where id > "  + m_id;
		m_result = m_stat.executeQuery(sql);
	}
	
	public void processData(String _url) throws SQLException, SolrServerException, IOException
	{
		LinkSolrJ linkSolr = new LinkSolrJ(_url);
		int _id;
		String _nickname;
		String _email;
		String _fullname;
		String _sms;
		
		int count = 0;
		
		while(m_result.next())
		{
		//id
			_id = m_result.getInt("id");
			if(_id > m_id)
			{
				m_id = _id;
			}
		//nickname
			_nickname = m_result.getString("nickname");
		//email
			_email = m_result.getString("email");
		//fullname
			_fullname = m_result.getString("fullname");
			if(m_result.wasNull())
			{
				_fullname = "";
			}
		//sms
			_sms = m_result.getString("sms");
			
			linkSolr.addData(_id, _nickname, _email, _fullname,  _sms);
			
			System.out.println(++count + ":" + _id);
		}
		
		linkSolr.commitDocs();
		
		writeMaxId();

		System.out.println("導出數據庫成功!");
		System.out.println("新導出用戶數據:" + count);
		
		//關閉數據庫連接
		m_stat.close();
		m_con.close();
	}
}




 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章