java-JDBC鏈接mysql數據庫

一.下載與安裝mysql connector/j(mysql數據庫驅動)java

能夠mysql下載,注意:官網下載頁面有2個版本的驅動包,.zip結尾的是windows操做系統用的,.tar.gz是Linux操做系統用的。mysql

二.安裝mysql connector/j 驅動sql

方法1:在windows系統中,將驅動壓縮包解壓後,將其路徑添加到環境變量中,放在classpath變量中添加解壓后里面的一個.jar的文件路徑便可。(安裝後,windows系統中須要從新啓動電腦)數據庫

方法2:直接將.jar的驅動文件放到項目的lib目錄文件下。windows

三.Java鏈接mysql數據庫函數

DriverManager 類:負責加載各類不一樣的驅動程序;url

Connection 接口:數據庫鏈接,負責進行數據庫間的通訊spa

Statement 接口:主要用於執行SQL語句。操作系統

RrsultSet 接口:主要用於儲存數據庫返回的記錄。.net

具體操做以下:

1.指定mysql驅動程序。

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

2.使用getConnection()方法鏈接數據庫。

DriverManager.getConnection(URL,username,password);

其中:url是程序要鏈接的數據庫和要使用的jdbc驅動程序,username是程序鏈接時所用的數據庫用戶名,password是數據庫密碼。

四.java操做mysql數據庫

1.建立Statement對象

Connection  conn=DriverManager.getConnection(URL,USER,PASSWORD);//接到上一步的鏈接數據庫

Statement mystatement=conn.createStatement();

2.使用SQL語句

ResultSet rs=statement.executeQuery("SQL語句")

五.簡版實例:

package DBconnect;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

import com.mysql.jdbc.Statement;

public class DBconnect {
	private static final String URL = "jdbc:mysql://127.0.0.1:3306/company";
	private static final String USER = "root";
	private static final String PASSWORD = "123";
	private static Connection conn = null;
	static {
		try {
			// 1.指定mysql驅動程序
			Class.forName("com.mysql.jdbc.Driver");
			// 2.使用getConnection()方法鏈接數據庫
			conn=DriverManager.getConnection(URL,USER,PASSWORD);
			//3.建立Statement對象,用於執行sql語句
			Statement stmt=(Statement) conn.createStatement();
			String sql = "" + "select*from offices";//要執行的sql語句
			//4.數據庫操做結果記錄
			ResultSet rs=stmt.executeQuery(sql);
//5.輸出查詢結果
			while(rs.next()){
				System.out.println(rs.getString(2));
			}
//6.關閉接口
			rs.close();//先關閉記錄
			stmt.close();//再關閉sql語句直接接口
			conn.close();//最後關閉數據庫鏈接
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

六.更嚴謹的實例(摘自:https://my.oschina.net/yuanmuou/blog/747974)

package com.util.dbmethod;

import java.sql.*;

/**
 * @author yuanmuou
 * @功能:數據庫函數集合
 * @要求:須要引入mysql-jdbc驅動
 */
public class Database {
    private static final String user = "root";// 數據庫用戶名
    private static final String password = "123";// 數據庫密碼
    private static String dbname = "shop";// 數據庫名

    static PreparedStatement prestate=null;
    private static final String driver = "com.mysql.jdbc.Driver";
    private static Connection connect = null;// 數據庫鏈接
    private static final String url = "jdbc:mysql://localhost:3306/" + dbname
            + "?useUnicode=true&characterEncoding=UTF-8";

    static {
        try {
            Class.forName(driver);
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("錯誤:加載驅動失敗,請檢查驅動是否加載。錯誤信息:" + e.getMessage());
        }
    }

    /**
     * @return boolean 檢查是否設置了數據庫
     */
    public static boolean isSetDbname() {
        if (dbname == null || dbname.equals(""))
            return false;
        else
            return true;
    }

    /**
     * @return Connection 數據庫鏈接對象
     */
    public static Connection getConnection() {
        if (connect == null) {
            try {
                if (isSetDbname())
                    connect = DriverManager.getConnection(url, user, password);
                else {
                    System.out.println("錯誤:未設置數據庫名");
                }
            } catch (SQLException e) {
                System.out.println("錯誤:數據庫鏈接失敗,請檢查數據庫名,密碼,用戶名是否正確");
                e.printStackTrace();
            }
            return connect;
        }
        return connect;
    }
    /** 
     * @param string sql SQL語句
     * @功能 執行SQL查詢
     * @返回 結果集
     */
    public static ResultSet doQuery(String sql){
        if((connect=getConnection())==null)
            return null;
        else{
            
            try {
                ResultSet resultset = prestate.executeQuery(sql);
                return resultset;
            } catch (SQLException e) {
                System.out.println("錯誤:sql語句執行出錯");
                e.printStackTrace();
            }
        }
        return null;
    }
        /**
         * 下面是示例程序(能夠刪除)
         */
    public static void main(String[] args) {
        try {
            Connection con = Database.getConnection();
            if (con != null) {
                System.out.println("數據庫鏈接正常");
            } else {
                System.out.println("數據庫鏈接失敗");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        
    }
}
相關文章
相關標籤/搜索