jdbc 連接 mysql數據庫

要注意兩點:

1下載JDBC驅動mysql-connector-java-5.0.5-bin.jar導入到工程中去
工程(右鍵)--buildpath--configure build path--add external jars。
2 url的寫法:“jdbc:mysql://主機IP或主機名:3306/數據庫名”
  主機ip或主機名查找方法:
在DOS“命令提示符”窗口中輸入“ipconfig /all”,可以查看本機的詳細信息。


import java.sql.*;


public class EmpDAO {
	public static void main(String[] args){

        // 驅動程序名
        String driver = "com.mysql.jdbc.Driver";

        // URL指向要訪問的數據庫名scutcs
        String url = "jdbc:mysql://192.168.1.3:3306/emp";

        // MySQL配置時的用戶名
        String user = "root";

        // MySQL配置時的密碼
        String password = "123";

        try {
         // 加載驅動程序
         Class.forName(driver);

         // 連續數據庫
         Connection conn = DriverManager.getConnection(url, user, password);

         if(!conn.isClosed())
          System.out.println("Succeeded connecting to the Database!");

         // statement用來執行SQL語句
         Statement statement = conn.createStatement();

         // 要執行的SQL語句
         String sql = "select * from mytable";

         // 結果集
         ResultSet rs = statement.executeQuery(sql);

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

         String name = null;
         String sex = null;

         while(rs.next()) {

          // 選擇sname這列數據
          name = rs.getString("name");
          sex = rs.getString("sex");

          // 首先使用ISO-8859-1字符集將name解碼爲字節序列並將結果存儲新的字節數組中。
          // 然後使用GB2312字符集解碼指定的字節數組
          name = new String(name.getBytes("ISO-8859-1"),"GB2312");

          // 輸出結果
          System.out.println(name + "\t" + sex);
         }

         rs.close();
         conn.close();

        } catch(ClassNotFoundException e) {


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


        } catch(SQLException e) {


         e.printStackTrace();


        } catch(Exception e) {


         e.printStackTrace();


        }
	}
}


將數據庫的連接和獲取封裝到DBUtility類中。


db.properties文件內容:

jdbc.driver=com.mysql.jdbc.Driver
jdbc.user=root
jdbc.password=123
jdbc.url=jdbc\:mysql\://192.168.1.3\:3306/emp


import java.io.IOException;
import java.sql.*;
import java.util.Properties;
import java.sql.Connection;

public class DBUtility {
	private static Properties properties = new Properties();
	private static String driver = null; 
	private static String url = null; 
	private static String user = null;
	private static String pwd = null;
	static{
		try {
			properties.load(DBUtility.class.getClassLoader().getResourceAsStream(
			           "databaseDao/db.properties"));
			driver = properties.getProperty("jdbc.driver");
			url = properties.getProperty("jdbc.url");
			user = properties.getProperty("jdbc.user");
			pwd = properties.getProperty("jdbc.password");
			Class.forName(driver);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	public static Connection openConnection() throws SQLException{

		 return  DriverManager.getConnection(url, user, pwd);
	}
	public static void closeConnection(Connection con){
		if(con != null){
			try {
				con.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				System.out.println("關閉連接時發生異常");
			}
		}
	}
}

新的EmpDAO:

import java.sql.*;


public class EmpDAO {
	public static void main(String[] args){
		EmpDAO dao = new EmpDAO();
		dao.findAll();
	}
	public void findAll(){
		Connection con = null;
		Statement stmt = null;
		ResultSet rs = null;
		try {
			con = DBUtility.openConnection();
			stmt = con.createStatement();
			rs = stmt.executeQuery("select name,sex from mytable");
			while(rs.next()){
				System.out.println(rs.getString("name")+ "," +rs.getString("sex"));
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			
				try {
					if(rs != null){
					     rs.close();
					}
					if(stmt != null){
						stmt.close();
					}
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					System.out.println("數據庫釋放資源異常");
			}
				DBUtility.closeConnection(con);
		}
	}
}





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