新聞中心
Java 是一門廣泛應(yīng)用的編程語(yǔ)言,而數(shù)據(jù)庫(kù)則是在許多應(yīng)用中必不可少的工具。Java 應(yīng)用程序中經(jīng)常需要和數(shù)據(jù)庫(kù)打交道,進(jìn)行數(shù)據(jù)查詢是其中的一個(gè)重要方面。在數(shù)據(jù)查詢中,List 是一種非常有用的數(shù)據(jù)結(jié)構(gòu),能夠方便快捷地存儲(chǔ)和處理數(shù)據(jù)。本文將基于 Java 語(yǔ)言,介紹 List 在數(shù)據(jù)庫(kù)查詢中的使用方法。

創(chuàng)新互聯(lián)專注于渠縣企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,成都做商城網(wǎng)站。渠縣網(wǎng)站建設(shè)公司,為渠縣等地區(qū)提供建站服務(wù)。全流程定制制作,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
一、連接數(shù)據(jù)庫(kù)
在 Java 應(yīng)用程序中,我們需要使用 JDBC 來(lái)連接數(shù)據(jù)庫(kù)。JDBC 是一個(gè) Java API(應(yīng)用程序接口),用于連接各種類型的關(guān)系型數(shù)據(jù)庫(kù),并實(shí)現(xiàn)數(shù)據(jù)的讀寫。在使用 JDBC 之前,需要下載并安裝數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序,這樣才能在 Java 應(yīng)用程序中使用 JDBC API。
具體而言,在使用 JDBC 連接數(shù)據(jù)庫(kù)時(shí),我們需要先加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序。對(duì)于 MySQL 數(shù)據(jù)庫(kù)而言,可以通過(guò) Class.forName() 方法來(lái)加載驅(qū)動(dòng)程序:
Class.forName(“com.mysql.jdbc.Driver”);
在加載驅(qū)動(dòng)程序之后,我們還需要?jiǎng)?chuàng)建一個(gè) Connection 對(duì)象,該對(duì)象表示與數(shù)據(jù)庫(kù)的連接。Connection 對(duì)象可以通過(guò) DriverManager.getConnection() 方法來(lái)獲取:
String url = “jdbc:mysql://localhost:3306/test”;
String user = “root”;
String password = “”;
Connection conn = DriverManager.getConnection(url, user, password);
上述代碼中,url 表示數(shù)據(jù)庫(kù)的地址,user 和 password 分別表示數(shù)據(jù)庫(kù)的用戶名和密碼。創(chuàng)建完 Connection 對(duì)象后,就可以通過(guò)該對(duì)象來(lái)執(zhí)行 SQL 查詢了。
二、實(shí)現(xiàn)查詢操作
在使用 JDBC 進(jìn)行數(shù)據(jù)庫(kù)查詢時(shí),一般需要先創(chuàng)建一個(gè) Statement 對(duì)象。該對(duì)象用于執(zhí)行 SQL 語(yǔ)句并返回結(jié)果。在創(chuàng)建 Statement 對(duì)象后,就可以通過(guò)該對(duì)象來(lái)執(zhí)行 SQL 查詢:
Statement stmt = conn.createStatement();
String sql = “SELECT * FROM student WHERE age > 18”;
ResultSet rs = stmt.executeQuery(sql);
上述代碼中,sql 表示要執(zhí)行的 SQL 語(yǔ)句。在執(zhí)行 SQL 查詢后,會(huì)返回一個(gè) ResultSet 對(duì)象,其中包含了查詢結(jié)果。ResultSet 對(duì)象的每一行對(duì)應(yīng)查詢結(jié)果中的一條數(shù)據(jù)。
接下來(lái),我們需要將 ResultSet 中的數(shù)據(jù)存儲(chǔ)到 List 中。在存儲(chǔ)之前,需要先判斷 ResultSet 中是否還有下一行數(shù)據(jù)。在判斷過(guò)程中,可以使用 ResultSet 對(duì)象的 next() 方法。該方法返回值為 boolean 類型,表示 ResultSet 中是否還有下一行數(shù)據(jù)。如果還有,則返回 true;否則返回 false。
while (rs.next()) {
int id = rs.getInt(“id”);
String name = rs.getString(“name”);
int age = rs.getInt(“age”);
Student student = new Student(id, name, age);
list.add(student);
}
上述代碼中,我們通過(guò)遍歷 ResultSet 對(duì)象,逐行取出數(shù)據(jù),并創(chuàng)建 Student 對(duì)象。然后將 Student 對(duì)象存儲(chǔ)到 List 中。在取數(shù)據(jù)的過(guò)程中,可以通過(guò) ResultSet 對(duì)象的 getXXX() 方法來(lái)獲取某一列的數(shù)據(jù),其中 XXX 表示數(shù)據(jù)類型。例如,getInt() 方法用于獲取整型數(shù)據(jù),getString() 方法用于獲取字符串?dāng)?shù)據(jù)等。
在完成查詢操作后,需要關(guān)閉 ResultSet 對(duì)象、Statement 對(duì)象和 Connection 對(duì)象:
rs.close();
stmt.close();
conn.close();
三、應(yīng)用示例
下面,我們通過(guò)一個(gè)實(shí)際的 Java 應(yīng)用程序來(lái)演示 List 在數(shù)據(jù)庫(kù)查詢中的應(yīng)用。該程序可用于查詢 MySQL 數(shù)據(jù)庫(kù)中的學(xué)生信息。
1、創(chuàng)建表
我們需要在 MySQL 數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)名為 student 的表。該表包含三個(gè)字段,分別為 id、name 和 age。其中,id 為 int 類型,是主鍵;name 和 age 分別為 varchar 和 int 類型。
CREATE TABLE `student` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`age` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2、插入數(shù)據(jù)
接下來(lái),我們需要向 student 表中插入一些數(shù)據(jù)??梢允褂靡韵?SQL 語(yǔ)句:
INSERT INTO `student` (`name`, `age`) VALUES (‘Tom’, 18);
INSERT INTO `student` (`name`, `age`) VALUES (‘Jerry’, 19);
INSERT INTO `student` (`name`, `age`) VALUES (‘Tony’, 20);
INSERT INTO `student` (`name`, `age`) VALUES (‘Mike’, 21);
3、編寫 Java 應(yīng)用程序
在 Java 應(yīng)用程序中,我們需要先創(chuàng)建一個(gè) Student 類,用于表示學(xué)生信息:
public class Student {
private int id;
private String name;
private int age;
public Student(int id, String name, int age) {
super();
this.id = id;
this.name = name;
this.age = age;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
然后,我們編寫一個(gè)名為 StudentDao 的類,用于實(shí)現(xiàn)數(shù)據(jù)庫(kù)查詢操作。在該類中,我們使用 List 數(shù)據(jù)結(jié)構(gòu)來(lái)存儲(chǔ)查詢結(jié)果。
public class StudentDao {
private Connection conn;
public StudentDao() {
String url = “jdbc:mysql://localhost:3306/test”;
String user = “root”;
String password = “”;
try {
Class.forName(“com.mysql.jdbc.Driver”);
conn = DriverManager.getConnection(url, user, password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
public List query() {
List list = new ArrayList();
Statement stmt;
try {
stmt = conn.createStatement();
String sql = “SELECT * FROM student WHERE age > 18”;
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
int id = rs.getInt(“id”);
String name = rs.getString(“name”);
int age = rs.getInt(“age”);
Student student = new Student(id, name, age);
list.add(student);
}
rs.close();
stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
return list;
}
}
在 StudentDao 類中,我們先創(chuàng)建一個(gè) Connection 對(duì)象(在類的構(gòu)造函數(shù)中)。然后,在 query() 方法中,我們創(chuàng)建一個(gè) Statement 對(duì)象,并執(zhí)行 SQL 查詢。在查詢完成后,將查詢結(jié)果存儲(chǔ)到 List 中。關(guān)閉 ResultSet、Statement 和 Connection 對(duì)象,并返回 List 對(duì)象。
4、測(cè)試程序
接下來(lái),我們?cè)?Mn 類中測(cè)試剛剛編寫的 StudentDao 類:
public class Mn {
public static void mn(String[] args) {
StudentDao dao = new StudentDao();
List list = dao.query();
for (Student student : list) {
System.out.println(student.getName() + “, ” + student.getAge());
}
}
}
在 Mn 類中,我們先創(chuàng)建一個(gè) StudentDao 對(duì)象,并調(diào)用其 query() 方法進(jìn)行查詢。查詢完成后,在控制臺(tái)輸出查詢結(jié)果。
四、
相關(guān)問(wèn)題拓展閱讀:
- java中怎么訪問(wèn)一個(gè)數(shù)據(jù)庫(kù) 然后把查詢的結(jié)果保存為list(在線等)
java中怎么訪問(wèn)一個(gè)數(shù)據(jù)庫(kù) 然后把查詢的結(jié)果保存為list(在線等)
Class.forName(DB_DRIVER);
Connection connDB = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(querySQL);
關(guān)于java list查詢數(shù)據(jù)庫(kù)的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
成都創(chuàng)新互聯(lián)科技有限公司,是一家專注于互聯(lián)網(wǎng)、IDC服務(wù)、應(yīng)用軟件開(kāi)發(fā)、網(wǎng)站建設(shè)推廣的公司,為客戶提供互聯(lián)網(wǎng)基礎(chǔ)服務(wù)!
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡(jiǎn)單好用,價(jià)格厚道的香港/美國(guó)云服務(wù)器和獨(dú)立服務(wù)器。創(chuàng)新互聯(lián)——四川成都IDC機(jī)房服務(wù)器托管/機(jī)柜租用。為您精選優(yōu)質(zhì)idc數(shù)據(jù)中心機(jī)房租用、服務(wù)器托管、機(jī)柜租賃、大帶寬租用,高電服務(wù)器托管,算力服務(wù)器租用,可選線路電信、移動(dòng)、聯(lián)通機(jī)房等。
文章名稱:Java使用List進(jìn)行數(shù)據(jù)庫(kù)查詢的實(shí)例(javalist查詢數(shù)據(jù)庫(kù))
網(wǎng)頁(yè)路徑:http://www.5511xx.com/article/cogsipe.html


咨詢
建站咨詢
