3.2 Java與數據庫(二)JDBC連接數據庫

一、Java數據庫連接步驟

1、導入jar包,例如mysql-connector-java-5.1.45-bin.jar導入到項目文件中。

2、加載驅動,讓應用程序連接上指定的數據庫服務器。

3、建立連接,讓應用程序連接到服務器中具體的數據庫。

4、用com.mysql.jdbc.Driver驅動字符竄。

5、加入連接語句jdbc:mysql://localhost:3306/數據庫名+連接字符竄。


二、測試數據庫連接

1、重新構建路徑,添加JUnit4庫和mysql-connector-java-5.1.45-bin.jar包。

2、編寫方法test01並運行(注意:是運行方法而不是main函數)代碼如下:

import java.sql.Connection;
import java.sql.DriverManager;
import org.junit.Test;

public class Demo
{
	/*
	 * JAVA連接MYSQL
	 */
	@Test
	public void test01()
	{
		/*
		 * 連接數據庫的步驟
		 *              1.加載驅動,讓應用程序連接上指定的數據庫服務器
		 *              2.建立連接,讓應用程序連接到服務器中具體的數據庫
		 *              3.com.mysql.jdbc.Driver 驅動字符竄
		 *              4.jdbc:mysql://localhost:3306/數據庫名 連接字符竄
		 */
		try
		{
			Class.forName("com.mysql.jdbc.Driver");
			Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/myuser","root","123456");
			if(conn!=null)
			{
				System.out.println("連接成功!");
			}
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
	}
}

三、利用sql語句實現對數據的增加

注意:如果寫入的數據存在中文字符,必須在獲得連接對象語句中,數據庫名後加上 ?characterEncoding=utf-8

例如:jdbc:mysql://localhost:3306/myuser?characterEncoding=utf-8

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import org.junit.Test;

public class Demo
{
	@Test
	public void test02()
	{
		/*
		 * 利用sql語句實現增加
		 * -- 添加記錄
         * insert into user(id,username,password) values(3,'王五','456321')
         * insert into 表名(列名、列名、列名、、) values(v1、v2、v3、、、)
		 */
		try
		{
			Class.forName("com.mysql.jdbc.Driver");
			//獲得連接對象
			Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/myuser?characterEncoding=utf-8","root","123456");
			if(conn!=null)
			{
				//連接對象不爲空,意味着應用程序成功的連接上服務中具體的數據庫
				String sql="insert into user(id,username,password) values(1003,'王五','456321')";
				//拿到可以處理sql語句的對象
				PreparedStatement pstmt=conn.prepareStatement(sql);
				//增刪改統稱爲更新操作,executeUpdate執行後返回的是受影響的行數
				int num=pstmt.executeUpdate();
				if(num>0)
				{
					System.out.println("添加成功");
				}
			}
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
	}
}


四、利用sql語句實現對數據的刪除

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import org.junit.Test;

public class Demo
{
	@Test
	public void test03()
	{
		/*
		 * 刪除的sql語句語法結構
		 * delete from 表名 where id=?
		 */
		try
		{
			Class.forName("com.mysql.jdbc.Driver");
			//獲得連接對象
			Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/myuser","root","123456");
			if(conn!=null)
			{
				String sql="delete from user where id=1003";
				PreparedStatement pstmt=conn.prepareStatement(sql);
				int num=pstmt.executeUpdate();
				if(num>0)
				{
					System.out.println("刪除成功!");
				}
			}
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
	}
}


五、利用sql語句實現對數據的修改

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import org.junit.Test;

public class Demo
{
	@Test
	public void test04()
	{
		/*
		 * 修改的sql語句語法結構
		 * update 表名 set 列名=v1,列名=v2、、where id=?
		 */
		try
		{
			Class.forName("com.mysql.jdbc.Driver");
			//獲得連接對象
			Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/myuser?characterEncoding=utf-8","root","123456");
			if(conn!=null)
			{
				String sql="update user set password='1314520' where id=1002";
				PreparedStatement pstmt=conn.prepareStatement(sql);
				int num=pstmt.executeUpdate();
				if(num>0)
				{
					System.out.println("修改成功!");
				}
			}
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
	}
}


六、利用sql語句實現對數據的查詢

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import org.junit.Test;

public class Demo
{
	@Test
	public void test05()
	{
		/*
		 * 查詢的語法結構
		 *      select 列名、列名、列名 where 表
		 *      select * from 表  *代表所有
		 * 查詢使用的方法
		 *      executeQuery
		 * 利用結果集接收查詢的結果,結果集存儲了包括列名在內的所有的查詢出的信息
		 */
		try
		{
			Class.forName("com.mysql.jdbc.Driver");
			//獲得連接對象
			Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/myuser?characterEncoding=utf-8","root","123456");
			if(conn!=null)
			{
				String sql="select * from user";
				PreparedStatement pstmt=conn.prepareStatement(sql);
				ResultSet rs=pstmt.executeQuery();
				/*
				 * 利用next方法逐行判斷該行是否有數據,有數據返回位true,空的話返回位false
				 * 必須從第一行的下一行開始判斷,因爲結果集的第一行是列名
				 */
				while(rs.next())
				{
					//利用結果集+get系列方法逐列讀取數據
					System.out.println(rs.getInt(1)+"\t"+rs.getString(2)+"\t"+rs.getString(3));
				}
			}
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
	}
}


至此,利用Java與SQL語句實現了對MySQL簡單的增刪改查。


Java與數據庫相關知識:


3.1 Java與數據庫(一)數據庫概述

3.2 Java與數據庫(二)JDBC連接數據庫

3.3 Java與數據庫(三)DAO設計模式

3.4 Java與數據庫(四)數據庫總結


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