一、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與數據庫相關知識: |