最極簡版本的, 我們這裏以mysql爲例:
首先要創建maven工程, 需要引入jar包:,這裏需要注意, 如果你安裝的是mysql最新版本8以上的, 下面有些地方需要更改,具體就是mysql連接的url, 和5版本的不一樣,具體解決請自行百度哈.這裏只演示mysql5版本的😄
依賴:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.21</version>
</dependency>
第一步, 連接驅動
//連接驅動
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.out.println("連接驅動失敗!!");
e.printStackTrace();
}
第二步, 獲取連接 conn
//創建連接conn
Connection conn = null;
try {
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=UTF8", "root", "root");
} catch (SQLException e) {
System.out.println("創建連接失敗!!");
e.printStackTrace();
}
第三步, 獲取sql的執行者:
//連接者創建完成之後創建執行者
Statement state = null;
try {
state = conn.createStatement();
} catch (SQLException e) {
System.out.println("創建執行者完成!!");
e.printStackTrace();
}
第四步, 執行sql語句, 這裏我寫了三個, 分別爲查詢, 增加, 更新,
//執行者開始執行查詢sql語句
ResultSet resultSet = null;
try {
resultSet = state.executeQuery("SELECT * FROM person");
} catch (SQLException e) {
System.out.println(" =sql查詢執行失敗! ");
e.printStackTrace();
}
if (resultSet != null) {
try {
while (resultSet.next()) {
System.out.println(resultSet.getString(1) + "-----" + resultSet.getString(2) + "-----" + resultSet.getString(3) + "-----" + resultSet.getString(4));
}
} catch (SQLException e) {
e.printStackTrace();
}
}
//執行者開始執行查詢sql語句
try {
//boolean execute = state.execute("insert into person (id,address,age,name ) values (null,'河北',28,'王1')"); 如果是插入的話, 這個方法會返回false的,具體看下面截圖描述
int execute = state.executeUpdate("insert into person (id,address,age,name ) values (null,'河北',28,'王1')");
System.out.println(" =插入->>> " + execute);
} catch (SQLException e) {
System.out.println(" =執行插入失敗! ");
e.printStackTrace();
}
//執行者開始執行查詢sql語句
try {
int i = state.executeUpdate("update person set name='王大哥' where id=128");
System.out.println(" =更新->>> "+i );
} catch (SQLException e) {
System.out.println("更新失敗!");
e.printStackTrace();
}
上面關於 '插入' 有一個地方有疑問的話: 查詢這個地方:http://blog.sina.com.cn/s/blog_963fb3af01013rcs.html
懶得點開的話就看下面截圖中的這句話
第五步:處理結果集
其實上面已經處理結果集了啊啊啊啊啊啊
第六步, 關閉所有連接
// 執行完畢之後, 關閉所有連接
try {
resultSet.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
state.close();
} catch (SQLException e) {
}
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
完事搞定了;下面貼一下
打印結果如下
這是現在表結果:
相關代碼:
import java.sql.*;
public class ConnectByJDBC {
public static void main(String[] args) {
//連接驅動
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.out.println("連接驅動失敗!!");
e.printStackTrace();
}
//創建連接conn
Connection conn = null;
try {
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=UTF8", "root", "root");
} catch (SQLException e) {
System.out.println("創建連接失敗!!");
e.printStackTrace();
}
//連接者創建完成之後創建執行者
Statement state = null;
try {
state = conn.createStatement();
} catch (SQLException e) {
System.out.println("創建執行者完成!!");
e.printStackTrace();
}
//執行者開始執行查詢sql語句
ResultSet resultSet = null;
try {
resultSet = state.executeQuery("SELECT * FROM person");
} catch (SQLException e) {
System.out.println(" =sql查詢執行失敗! ");
e.printStackTrace();
}
if (resultSet != null) {
try {
while (resultSet.next()) {
System.out.println(resultSet.getString(1) + "-----" + resultSet.getString(2) + "-----" + resultSet.getString(3) + "-----" + resultSet.getString(4));
}
} catch (SQLException e) {
e.printStackTrace();
}
}
//執行者開始執行查詢sql語句
try {
//boolean execute = state.execute("insert into person (id,address,age,name ) values (null,'河北',28,'王1')"); 如果是插入的話, 這個方法會返回false的,
int execute = state.executeUpdate("insert into person (id,address,age,name ) values (null,'河北',28,'王1')");
System.out.println(" =插入->>> " + execute);
} catch (SQLException e) {
System.out.println(" =執行插入失敗! ");
e.printStackTrace();
}
//執行者開始執行查詢sql語句
try {
int i = state.executeUpdate("update person set name='王大哥' where id=128");
System.out.println(" =更新->>> "+i );
} catch (SQLException e) {
System.out.println("更新失敗!");
e.printStackTrace();
}
// 執行完畢之後, 關閉所有連接
try {
resultSet.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
state.close();
} catch (SQLException e) {
}
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}