java--JDBC連接MySQL數據庫基本操作


剛開始練習使用MySQL時會有很多問題出現,總結我出現的問題


必要環境:

1.當然,首先要安裝有JDK(一般是JDK1.5.X)。然后安裝MySQL,這些都比較簡單,具體過程就不說了。配置好這兩個環境后,下載JDBC驅動mysql-connector-java-5.0.5.zip(這個是最新版的)。然后將其解壓縮到任一目錄。我是解壓到D盤,然后將其目錄下的mysql-connector-java-5.0.5-bin.jar加到classpath里,具體如下:“我的電腦”-> “屬性” -> “高級” -> “環境變量”,在系統變量那里編輯classpath,將D:\mysql-connector-java-5.0.5\mysql-connector-java-5.0.5-bin.jar加到最后,在加這個字符串前要加“;”,以與前一個classpath區分開。然后確定。
2.下載好MySQL連接驅動:mysql-connector-java-5.1.27.jar,將下載好的JDBC放到項目文件夾下,如下圖所示:

3.右鍵工程名,在java build path中的Add Libraries


先附上代碼

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

import com.mysql.jdbc.Statement;

public class ConnMySQL {

	/**
	 * java與MySQL的連接
	 * @param args
	 */
	Connection conn=null;
	public Connection getConnection(){
		try{
			Class.forName("com.mysql.jdbc.Driver");  //加載數據庫驅動
			System.out.println("數據庫驅動加載成功");
			String url="jdbc:mysql://localhost:3306/company?useSSL=false";
			//如果不加useSSL=false就會有警告,由於jdbc和mysql版本不同,有一個連接安全問題
			
			String user="root";
			String passWord="123456";
			//System.out.println("1");
			//Connection對象引的是java.sql.Connection包
			conn=(Connection)DriverManager.getConnection(url,user,passWord); //創建連接
			System.out.println("已成功的與數據庫MySQL建立連接!!");
		}catch(Exception e){
			e.printStackTrace();
		}
		return conn;
	}
	//顯示數據庫中的表
	public ResultSet listDB(){
		String sql="show tables;";
		try{
			conn=getConnection();
			Statement stmt=(Statement) conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
					                             ResultSet.CONCUR_READ_ONLY);
			ResultSet rs=stmt.executeQuery(sql);
			return rs;
		}catch(SQLException ex){
			//ex.printStackTrace();
			System.out.println(ex.getMessage());
			return null;
		}
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		ConnMySQL mysql= new ConnMySQL();
		
		mysql.getConnection();
		ResultSet rest=mysql.listDB();
		System.out.println("數據庫company中有下列數據表:");
		try{
			while(rest.next()){
				System.out.println(rest.getString(1));
				
			}
		}catch(SQLException e){
			e.printStackTrace();
		}
	}

}

1. 安裝MySql服務器(報錯:Access denied for user 'root'@'localhost' (using password: YES))

找到后my.ini的文件(默認在C:\ProgramData\MySQL\MySQL Server 5.7下),

  1. 打開MySQL目錄下的my.ini文件,在文件的最后添加一行“skip-grant-tables”,保存並關閉文件。(WIN7默認安裝,my.ini在C:\ProgramData\MySQL\MySQL Server 5.6)
  2. 重啟MySQL服務。
  3. 通過命令行進入MySQL的BIN目錄,輸入“mysql -u root -p”(不輸入密碼),回車即可進入數據庫。(WIN7默認安裝,BIN目錄為:C:\Program Files\MySQL\MySQL Server 5.6\bin)
  4. 執行“use mysql;”,使用mysql數據庫。
  5. 執行“ update MySQL.user set authentication_string=password('123456') where user='root'”(修改root的密碼)
  6. 打開MySQL目錄下的my.ini文件,刪除最后一行的“skip-grant-tables”,保存並關閉文件。
  7. 重啟MySQL服務。
  8. 在命令行中輸入“mysql -u root -p 123456”,即可成功連接數據庫。

2.連接安全報錯

如果不加useSSL=false就會有警告,由於jdbc和mysql版本不同,有一個連接安全問題
比如:String url="jdbc:mysql://localhost:3306/company?useSSL=false";(正確的寫法)

3.連接包的引用

Connection對象引的是java.sql.Connection包(默認我的是給我引入的是import java.sql.DriverManager;會報錯)

以上是我遇到的一些基本問題


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM