首先給大家說一下使用JDBC連結資料庫的步驟
1.加載連結資料庫驅動
2.建立資料庫連結
3.建立資料庫操作對象
4.編寫sql語句,執行sql語句
5.擷取結果集
6.釋放資源
我這邊采用的是maven建構工具建立的java項目;如果不使用maven建立的話也沒有什麼不同,因為都是在main方法裡面寫的嘛!
隻是需要導入jdbc需要的jar包即可,然後下面建項目的這些步驟就可以直接跳過了
首先點選建立項目
如果你的這裡沒有Maven Project 這個選項的話,那就直接點選Other,有的話就直接點選Maven項目即可!

package com.TestJDBC;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
* Hello world!
*
*/
public class Demo01
{
public static void main( String[] args )
{
Connection connection=null ;
Statement statement=null;
ResultSet resultSet = null;
try {
//1.加載驅動
Class.forName("com.mysql.jdbc.Driver");
//2.擷取連接配接對象(參數解釋,第一個是代表jdbc的方式通路mysql資料庫,localhost代表是通路本地的,3306端口号,db_test01代表資料庫名字,後面兩個代表賬戶密碼
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_test01","root","root");
//3.擷取執行sql對象
statement = connection.createStatement();
//4.編寫sql語句,執行sql
String sql="select * from stu";
//5.擷取結果集 ,查詢操作使用executeQuery,增,删,改使用statement.executeLargeUpdate(sql)
//如果是增删改操作,失敗了會傳回0
resultSet = statement.executeQuery(sql);
if(resultSet.next()){
//擷取字元串類型的值
String name = resultSet.getString("name");
String sex = resultSet.getString("sex");
//擷取int型的值
int age = resultSet.getInt("age");
System.out.println(name+" ,"+sex+","+age);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
//6.釋放連接配接
if(resultSet!=null){
try {
resultSet.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(statement!=null){
try {
statement.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(connection!=null){
try {
connection.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
下面改了一下,是一個預編譯的案例
package com.TestJDBC;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
* Hello world!
*
*/
public class Demo01 {
public static void main(String[] args) {
Connection connection = null;
PreparedStatement statement = null;
ResultSet resultSet = null;
try {
// 1.加載驅動
Class.forName("com.mysql.jdbc.Driver");
// 2.擷取連接配接對象(參數解釋,第一個是代表jdbc的方式通路mysql資料庫,localhost代表是通路本地的,3306端口号,db_test01代表資料庫名字,後面兩個代表賬戶密碼
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_test01", "root", "root");
// 3.擷取執行sql對象
// 4.編寫sql語句,執行sql(預編譯,用?号代替值)
String sql = "select * from stu where id=?";
statement = connection.prepareStatement(sql);
//然後再設定進去,可以設定多個值
statement.setString(1, "1");
resultSet = statement.executeQuery();
// 5.擷取結果集
// ,查詢操作使用executeQuery,增,删,改使用statement.executeLargeUpdate(sql)
// 如果是增删改操作,失敗了會傳回0
if (resultSet.next()) {
// 擷取字元串類型的值
String name = resultSet.getString("name");
String sex = resultSet.getString("sex");
// 擷取int型的值
int age = resultSet.getInt("age");
System.out.println(name + " ," + sex + "," + age);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
// 6.釋放連接配接
if (resultSet != null) {
try {
resultSet.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (statement != null) {
try {
statement.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}