創(chuàng)建數(shù)據(jù)庫和表
首先,在MySQL中創(chuàng)建一個數(shù)據(jù)庫,并且使用該數(shù)據(jù)庫。然后,創(chuàng)建一個名為"usr"的表,并向表中插入4條數(shù)據(jù)。以下是創(chuàng)建表和插入數(shù)據(jù)的SQL語句: CREATE DATABASE test; US
首先,在MySQL中創(chuàng)建一個數(shù)據(jù)庫,并且使用該數(shù)據(jù)庫。然后,創(chuàng)建一個名為"usr"的表,并向表中插入4條數(shù)據(jù)。以下是創(chuàng)建表和插入數(shù)據(jù)的SQL語句:
CREATE DATABASE test;
USE test;
CREATE TABLE usr (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
email VARCHAR(50)
);
INSERT INTO usr (id, name, age, email) VALUES (1, 'John', 25, 'john@');
INSERT INTO usr (id, name, age, email) VALUES (2, 'Amy', 30, 'amy@');
INSERT INTO usr (id, name, age, email) VALUES (3, 'Tom', 28, 'tom@');
INSERT INTO usr (id, name, age, email) VALUES (4, 'Lisa', 35, 'lisa@');
創(chuàng)建Java工程和連接數(shù)據(jù)庫
打開Eclipse,并創(chuàng)建一個Java工程項目。在src目錄下創(chuàng)建util包,在util包中創(chuàng)建類DBConn。然后,創(chuàng)建entity包,在entity包中創(chuàng)建類Usr。最后,創(chuàng)建dao包,在dao包中創(chuàng)建類UsrDao。創(chuàng)建完成后的工程目錄如下:
- src
- util
-
- entity
-
- dao
-
因為我們使用JDBC方式連接數(shù)據(jù)庫,所以需要編寫一個數(shù)據(jù)庫連接的工具類??梢詤⒖糐ava編寫JDBC連接MySQL數(shù)據(jù)庫的工具類。完整的工程目錄及DBConn類的內(nèi)容如下:
package util;
import ;
import ;
import java.sql.SQLException;
public class DBConn {
// 數(shù)據(jù)庫連接信息
private static final String URL "jdbc:mysql://localhost:3306/test";
private static final String USERNAME "root";
private static final String PASSWORD "password";
// 獲取數(shù)據(jù)庫連接對象
public static Connection getConnection() throws SQLException {
return (URL, USERNAME, PASSWORD);
}
}
接下來,編寫類用于表示usr表的數(shù)據(jù)結(jié)構(gòu):
package entity;
import ;
public class Usr {
private int id;
private String name;
private int age;
private String email;
public Usr(int id, String name, int age, String email) {
id;
name;
age;
email;
}
// Getter and Setter methods
// ...省略部分代碼...
}
然后,編寫類作為數(shù)據(jù)訪問層,用于執(zhí)行SQL查詢語句并將結(jié)果存放到Java變量中:
package dao;
import ;
import ;
import ;
import java.sql.SQLException;
import ;
import ;
import ;
import util.DBConn;
public class UsrDao {
// 查詢usr表所有數(shù)據(jù)
public List getAllUsrs() {
List usrs new ArrayList<>();
try (Connection conn ();
PreparedStatement pstmt ("SELECT * FROM usr");
ResultSet rs pstmt.executeQuery()) {
while (()) {
int id ("id");
String name ("name");
int age ("age");
String email ("email");
Usr usr new Usr(id, name, age, email);
(usr);
}
} catch (SQLException e) {
();
}
return usrs;
}
}
將查詢結(jié)果存放到變量中
在UsrDao類中,我們可以看到將查詢結(jié)果存放到變量中的關(guān)鍵代碼如下:
while (()) {
int id ("id");
String name ("name");
int age ("age");
String email ("email");
Usr usr new Usr(id, name, age, email);
(usr);
}
在執(zhí)行查詢函數(shù)之后(ptst.executeQuery()),會返回一個ResultSet類型的結(jié)果集。然后,使用ResultSet類中的next()方法來遍歷結(jié)果集。最后,使用getString()方法可以將對應(yīng)變量的值取出來。需要注意的是,取出來的值是String類型的,所以如果要存放到其他類型的Java變量中,需要先進行類型轉(zhuǎn)換。比如在這里,id是int類型,需要通過new Integer(("id"))的方式將String類型的值轉(zhuǎn)換為int類型。
運行程序并查看結(jié)果
在的窗口上右鍵選擇"Run As",然后選擇"Java Application"運行程序。運行結(jié)果如下:
[Usr{id1, name'John', age25, email'john@'},
Usr{id2, name'Amy', age30, email'amy@'},
Usr{id3, name'Tom', age28, email'tom@'},
Usr{id4, name'Lisa', age35, email'lisa@'}]
通過JDBC將數(shù)據(jù)庫的數(shù)據(jù)通過SQL語句取出來后存放到變量中,并通過控制臺輸出成功。