新聞中心
在Java開發(fā)中,操作數(shù)據(jù)庫(kù)是不可避免的一部分。而數(shù)據(jù)庫(kù)操作的核心之一就是獲取數(shù)據(jù)庫(kù)返回的值。在這篇文章中,我們將學(xué)習(xí)如何使用,讓你的數(shù)據(jù)庫(kù)操作變得更加簡(jiǎn)單。

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于做網(wǎng)站、成都做網(wǎng)站、阿里地區(qū)網(wǎng)絡(luò)推廣、微信小程序開發(fā)、阿里地區(qū)網(wǎng)絡(luò)營(yíng)銷、阿里地區(qū)企業(yè)策劃、阿里地區(qū)品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供阿里地區(qū)建站搭建服務(wù),24小時(shí)服務(wù)熱線:028-86922220,官方網(wǎng)址:www.cdcxhl.com
準(zhǔn)備工作
在開始編寫代碼前,我們需要準(zhǔn)備好以下兩點(diǎn):
– 一個(gè)數(shù)據(jù)庫(kù)(MySQL,Oracle,SQL Server等)
– 一個(gè)Java IDE (Eclipse,Intellij IDEA等)
如果你還沒(méi)有以上兩個(gè)條件,可以先自行搜索下載并安裝。
步驟1 – 導(dǎo)入JDBC驅(qū)動(dòng)器
使用Java操作數(shù)據(jù)庫(kù)的時(shí)候,需要根據(jù)不同的數(shù)據(jù)庫(kù)型號(hào)導(dǎo)入相應(yīng)的JDBC驅(qū)動(dòng)器。例如在使用MySQL數(shù)據(jù)庫(kù)時(shí),需要導(dǎo)入 MySQL 的 JDBC 驅(qū)動(dòng)器。
1.將 JDBC 驅(qū)動(dòng)器下載到本地,并解壓到一個(gè)文件夾中。
2. 在 Java 項(xiàng)目中的 Libraries 文件夾內(nèi)添加 JDBC 驅(qū)動(dòng)器。在這個(gè)文件夾右鍵 -> Add JAR/Folder -> 選擇剛才解壓出來(lái)的 JDBC 驅(qū)動(dòng)器。
3. 在 Java 代碼中添加以下代碼導(dǎo)入 JDBC 驅(qū)動(dòng)器:
“`java
import java.sql.DriverManager;
import java.sql.Connection;
“`
步驟2 – 連接數(shù)據(jù)庫(kù)
在 Java 中,與數(shù)據(jù)庫(kù)建立連接需要使用 JDBC API 提供的 java.sql.Connection 接口。
“`java
String url = “jdbc:數(shù)據(jù)庫(kù)類型://主機(jī)名:端口號(hào)/數(shù)據(jù)庫(kù)名”;
String user = “用戶名”;
String password = “密碼”;
Connection conn = null;
try {
conn = DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
e.printStackTrace();
}
“`
在連接數(shù)據(jù)庫(kù)的代碼塊中,需要傳入 URL、用戶名和密碼來(lái)建立與數(shù)據(jù)庫(kù)的連接。
步驟3 – 執(zhí)行SQL查詢
在Java中使用JDBC API可以非常簡(jiǎn)單地執(zhí)行 SQL 查詢語(yǔ)句。下面我們通過(guò)一個(gè)例子演示一下如何通過(guò)數(shù)據(jù)庫(kù)查詢獲得結(jié)果集數(shù)據(jù)。
示例代碼:
“`java
String sql = “SELECT name, age FROM student”;
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
try {
preparedStatement = conn.prepareStatement(sql);
resultSet = preparedStatement.executeQuery();
while (resultSet.next()) {
String name = resultSet.getString(“name”);
int age = resultSet.getInt(“age”);
System.out.println(“名字:” + name + “,年齡:” + age);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (resultSet != null) {
resultSet.close();
}
if (preparedStatement != null) {
preparedStatement.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
“`
在執(zhí)行完查詢語(yǔ)句后,我們通過(guò) ResultSet 來(lái)獲取查詢結(jié)果集,得到每一行的數(shù)據(jù)。ResultSet.next()方法可以查詢是否還有下一行數(shù)據(jù)。如果有,則通過(guò)resultSet.getString()獲取獲取指定字段的值。
步驟4 – 封裝數(shù)據(jù)庫(kù)表中的每一行
在實(shí)際項(xiàng)目中,獲取到ResultSet后還需要進(jìn)行一些處理,將每一行放入一個(gè)Java對(duì)象中。下面是一個(gè)示例代碼例子,將查詢結(jié)果封裝為一個(gè)List列表。
“`java
String sql = “SELECT name, age FROM student”;
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
List studentList = new ArrayList();
try {
preparedStatement = conn.prepareStatement(sql);
resultSet = preparedStatement.executeQuery();
while (resultSet.next()) {
String name = resultSet.getString(“name”);
int age = resultSet.getInt(“age”);
Student student = new Student(name, age);
studentList.add(student);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (resultSet != null) {
resultSet.close();
}
if (preparedStatement != null) {
preparedStatement.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
“`
此處我們定義了一個(gè) Student 類,將每個(gè)學(xué)生的姓名和年齡存儲(chǔ)在此對(duì)象中。
“`java
public class Student {
private String name;
private int age;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
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;
}
}
“`
結(jié)語(yǔ)
相關(guān)問(wèn)題拓展閱讀:
- Java如何獲取數(shù)據(jù)庫(kù)中的數(shù)據(jù)·案例
- 如何用java調(diào)取帶有列表返回值的存儲(chǔ)過(guò)程
Java如何獲取數(shù)據(jù)庫(kù)中的數(shù)據(jù)·案例
下面是一個(gè)從 mysql 數(shù)據(jù)獲取用戶數(shù)據(jù)的案例,可以參考一下:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
// 用戶類,存儲(chǔ)單個(gè)用戶信息
class User {
private int id;
private String 空判乎name;
public User(int id, String name) {
this.id = id;
this.name = name;
}
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;
}
@Override
public String toString() {
return “User “;
}
}
public class Demo1 {
public static void main(String args) throws ClassNotFoundException, SQLException {
// 本例使用 mysql 數(shù)據(jù)庫(kù),演示將數(shù)據(jù)庫(kù) test 的 tb_users 表中的用戶信息
// 放到 List 中
// 加載數(shù)據(jù)驅(qū)動(dòng)
Class.forName(“com.mysql.jdbc.Driver”);
// 數(shù)據(jù)庫(kù)連接字符串, 此例數(shù)據(jù)庫(kù)為 test
String url = “jdbc:
String user = “root”;// 數(shù)據(jù)庫(kù)用戶名
String password 沖悶= “”;// 數(shù)據(jù)庫(kù)密碼
// 打開一個(gè)數(shù)據(jù)連接
Connection conn = DriverManager.getConnection(url, user, password);
Statement stmt = conn.createStatement();
// 獲取表 tb_users 所有用戶信息到結(jié)果集中
ResultSet rs = stmt.executeQuery(“SELECT id, name FROM tb_users”);
// 定義一個(gè)存放用戶信斗悉息的 List
List users = new ArrayList();
// 提取用戶信息,并將用戶信息放入 List
while (rs.next()) {
// 獲取用戶ID
int id = rs.getInt(1);
// 獲取用戶名
String name = rs.getString(2);
users.add(new User(id, name));
}
rs.close();
stmt.close();
conn.close();
// 顯示用戶信息
for (User u : users) {
System.out.println(u);
}
}
如何用java調(diào)取帶有列表返回值的存儲(chǔ)過(guò)程
CallableStatement stme=connection.prepareCall(“select p.item,p.type1,p.name,p.lvl,p.item_mode,p.type2,p.up_item from pub_itemcode p where p.type1=?
“);
stme.setInt(1, 1);
后面的晌大缺代碼仿褲就是取ResultSet遍歷,不再宴辯累述
方式一:
簡(jiǎn)單的使用JDBC
Class.forName(“oracle.jdbc.driver.OracleDriver”).newInstance();
String url=”jdbc:oracle:thin:@localhost:1521:orcl”;
//讓雹orcl為數(shù)據(jù)庫(kù)的SID
String user=”test”;
String password=”坦升帆test”;
Connection conn= DriverManager.getConnection(url,user,password);
List list = new ArrayList();
try{
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(SQL); //這里的SQL就是你的查詢語(yǔ)句
ResultSetMetaData md = rs.getMetaData();
int columnCount = md.getColumnCount();
while (rs.next()) {
Map map = new HashMap();
for (int i = 1; i
map.put(md.getColumnName(i), rs.getObject(i));
}
list.add(map);
}
}catch(SQLException e)
{
e.printStackTrace();
}
return list;
我自己寫的,不管什么SQL,都可以查詢獲取到一個(gè)笑塵list
關(guān)于java獲取數(shù)據(jù)庫(kù)返回值的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
成都網(wǎng)站推廣找創(chuàng)新互聯(lián),老牌網(wǎng)站營(yíng)銷公司
成都網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)(www.cdcxhl.com)專注高端網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì)制作,網(wǎng)站維護(hù),網(wǎng)絡(luò)營(yíng)銷,SEO優(yōu)化推廣,快速提升企業(yè)網(wǎng)站排名等一站式服務(wù)。IDC基礎(chǔ)服務(wù):云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)、服務(wù)器租用、服務(wù)器托管提供四川、成都、綿陽(yáng)、雅安、重慶、貴州、昆明、鄭州、湖北十堰機(jī)房互聯(lián)網(wǎng)數(shù)據(jù)中心業(yè)務(wù)。
網(wǎng)站標(biāo)題:Java輕松實(shí)現(xiàn)數(shù)據(jù)庫(kù)返回值獲取方法 (java獲取數(shù)據(jù)庫(kù)返回值)
URL分享:http://www.dlmjj.cn/article/dhsiehi.html


咨詢
建站咨詢
