java查詢數據庫,java查詢數據庫表並輸出

本文目錄一覽:

java中,用DAO查詢一個數據庫步驟,分哪幾個步驟,原理解析

創建一個以JDBC連接數據庫的程序,包含7個步驟:

1、加載JDBC驅動程序:

在連接數據庫之前,首先要加載想要連接的數據庫的驅動到JVM(Java虛擬機),

這通過java.lang.Class類的靜態方法forName(String className)實現。

例如:

try{

//加載MySql的驅動類

Class.forName(“com.mysql.jdbc.Driver”) ;

}catch(ClassNotFoundException e){

System.out.println(“找不到驅動程序類 ,加載驅動失敗!”);

e.printStackTrace() ;

}

成功加載後,會將Driver類的實例註冊到DriverManager類中。

2、提供JDBC連接的URL

•連接URL定義了連接數據庫時的協議、子協議、數據源標識。

•書寫形式:協議:子協議:數據源標識

協議:在JDBC中總是以jdbc開始

子協議:是橋連接的驅動程序或是數據庫管理系統名稱。

數據源標識:標記找到數據庫來源的地址與連接端口。

例如:(MySql的連接URL)

jdbc:mysql:

//localhost:3306/test?useUnicode=truecharacterEncoding=gbk ;

useUnicode=true:表示使用Unicode字符集。如果characterEncoding設置為

gb2312或GBK,本參數必須設置為true 。characterEncoding=gbk:字符編碼方式。

3、創建數據庫的連接

•要連接數據庫,需要向java.sql.DriverManager請求並獲得Connection對象,

該對象就代表一個數據庫的連接。

•使用DriverManager的getConnectin(String url , String username ,

String password )方法傳入指定的欲連接的數據庫的路徑、數據庫的用戶名和

密碼來獲得。

例如:

//連接MySql數據庫,用戶名和密碼都是root

String url = “jdbc:mysql://localhost:3306/test” ;

String username = “root” ;

String password = “root” ;

try{

Connection con =

DriverManager.getConnection(url , username , password ) ;

}catch(SQLException se){

System.out.println(“數據庫連接失敗!”);

se.printStackTrace() ;

}

4、創建一個Statement

•要執行SQL語句,必須獲得java.sql.Statement實例,Statement實例分為以下3

種類型:

1、執行靜態SQL語句。通常通過Statement實例實現。

2、執行動態SQL語句。通常通過PreparedStatement實例實現。

3、執行數據庫存儲過程。通常通過CallableStatement實例實現。

具體的實現方式:

Statement stmt = con.createStatement() ;

PreparedStatement pstmt = con.prepareStatement(sql) ;

CallableStatement cstmt =

con.prepareCall(“{CALL demoSp(? , ?)}”) ;

5、執行SQL語句

Statement接口提供了三種執行SQL語句的方法:executeQuery 、executeUpdate

和execute

1、ResultSet executeQuery(String sqlString):執行查詢數據庫的SQL語句

,返回一個結果集(ResultSet)對象。

2、int executeUpdate(String sqlString):用於執行INSERT、UPDATE或

DELETE語句以及SQL DDL語句,如:CREATE TABLE和DROP TABLE等

3、execute(sqlString):用於執行返回多個結果集、多個更新計數或二者組合的

語句。

具體實現的代碼:

ResultSet rs = stmt.executeQuery(“SELECT * FROM …”) ;

int rows = stmt.executeUpdate(“INSERT INTO …”) ;

boolean flag = stmt.execute(String sql) ;

6、處理結果

兩種情況:

1、執行更新返回的是本次操作影響到的記錄數。

2、執行查詢返回的結果是一個ResultSet對象。

• ResultSet包含符合SQL語句中條件的所有行,並且它通過一套get方法提供了對這些

行中數據的訪問。

• 使用結果集(ResultSet)對象的訪問方法獲取數據:

while(rs.next()){

String name = rs.getString(“name”) ;

String pass = rs.getString(1) ; // 此方法比較高效

}

(列是從左到右編號的,並且從列1開始)

7、關閉JDBC對象

操作完成以後要把所有使用的JDBC對象全都關閉,以釋放JDBC資源,關閉順序和聲

明順序相反:

1、關閉記錄集

2、關閉聲明

3、關閉連接對象

if(rs != null){ // 關閉記錄集

try{

rs.close() ;

}catch(SQLException e){

e.printStackTrace() ;

}

}

if(stmt != null){ // 關閉聲明

try{

stmt.close() ;

}catch(SQLException e){

e.printStackTrace() ;

}

}

if(conn != null){ // 關閉連接對象

try{

conn.close() ;

}catch(SQLException e){

e.printStackTrace() ;

}

}

java程序操作MySQL數據庫

數據庫內容

  java源代碼 (代碼實現的是查詢成績為 的人員信息 至於其他功能的 代碼中有注釋) 注意 在eclipse里運行程序的時候 要工程里插入jar包 否則運行異常! import java sql *; import java io *; class database_manage {  public Connection conn = null;  public ResultSet rs = null;  private String DatabaseDriver = ” mysql jdbc Driver”;  // DataSource 數據源名稱DSN  private String DatabaseConnStr = “jdbc:mysql://localhost: /people_manage?useUnicode=truecharacterEncoding=utf ”  + ” root root”;  public void setDatabaseDriver(String Driver) { this DatabaseDriver = Driver;  }  public String getDatabaseDriver() { return (this DatabaseDriver);  }  public void setDatabaseConnStr(String ConnStr) { this DatabaseConnStr = ConnStr;  }  public String getDatabaseConnStr() { return (this DatabaseConnStr);  }  public database_manage() {// 構造函數連接數據庫 try {  Class forName(DatabaseDriver); } catch (java lang ClassNotFoundException e) {  System err println(“加載驅動器有錯誤:” + e getMessage());  System out print(“執行插入有錯誤:” + e getMessage());// 輸出到客戶端 }  }  public ResultSet query(String sql) {// 查詢數據庫 rs = null; try {  conn = DriverManager   getConnection(  “jdbc:mysql://localhost: /people_manage?useUnicode=truecharacterEncoding=utf ”  “root” “root”);  Statement stmt = conn createStatement();  rs = stmt executeQuery(sql); } catch (SQLException ex) {  System err println(“執行查詢有錯誤:” + ex getMessage());  System out print(“執行查詢有錯誤:” + ex getMessage()); // 輸出到客戶端 }

return rs;

 }  public int update_database(String sql) {// 更新或插入數據庫 int num = ; try {  conn = DriverManager   getConnection(  “jdbc:mysql://localhost: /people_manage?useUnicode=truecharacterEncoding=utf ”  “root” “root”);  Statement stmt = conn createStatement();  num = stmt executeUpdate(sql); } catch (SQLException ex) {  System err println(“執行插入有錯誤:” + ex getMessage());  System out print(“執行插入有錯誤:” + ex getMessage());// 輸出到客戶端 }  CloseDataBase(); return num;  }  public void CloseDataBase() {// 關閉數據庫 try {  conn close(); } catch (Exception end) {  System err println(“執行關閉Connection對象有錯誤 ” + end getMessage());  System out print(“執行執行關閉Connection對象有錯誤 有錯誤:” + end getMessage()); // 輸出到客戶端 }  } } class people {  private String uid;  private String name;  private String banji;  private int score;  public people() {  }  public people(String uid String name String banji) { this uid = uid; this name = name; this banji = banji;  }  public people(String uid String name String banji int score) { this uid = uid; this name = name; this banji = banji; this score = score;  }  public String getUid() { return uid;  }  public void setUid(String uid) { this uid = uid;  }  public String getName() { return name;  }  public void setName(String name) { this name = name;  }  public String getBanji() { return banji;  }  public void setBanji(String banji) { this banji = banji;  }  public int getScore() { return score;  }  public void setScore(int score) { this score = score;  } } public class manage {  private people[] people_array ;// 對象數組  public void add_people(String uid String name) {  String sql = “insert people (uid name) values ( ” + uid + ” ” + name + ” )”;// sql插入語句 // String sql = “insert people (uid name) values ( uid tom )”;  database_manage db_obj = new database_manage(); db_obj update_database(sql);  }  public void update_people(String uid String name) {  String sql = “update people set name= ” + name + ” where uid= ” + uid + ” “; database_manage db_obj = new database_manage(); db_obj update_database(sql);  }  public void delete_people(String uid) {  String sql = “delete from people  where uid= ” + uid + ” “;  database_manage db_obj = new database_manage();  db_obj update_database(sql);  }  public people query_people(String uid) { database_manage db_obj = new database_manage(); // String adminid=null; String uid_new name banji; uid_new = null; name = null; banji = null; String sql_query = “select * from people where uid= ” + uid + ” “;  try {  ResultSet rs = db_obj query(sql_query);  if (rs next()) { uid_new = rs getString(“uid”); name = rs getString(“name”); banji = rs getString(“banji”);  } } catch (Exception e) {  e getMessage(); } people new_people = new people(uid_new name banji); return new_people;  }  public people[] query_people_byscore(int score) { database_manage db_obj = new database_manage(); String uid_new name banji; uid_new = null; name = null; banji = null; int score_new = ;

String sql_query = “select * from people where score=” + score;// sql查詢語句

try {

ResultSet rs = db_obj query(sql_query);// 查詢後 返回結果集

int num = ;

ResultSet rs_new = rs;

while (rs_new next()) {// 統計結果集中學生個數

num++;

}

// System out println(num);

people_array = new people[num];

int i = ;

rs beforeFirst();// 返回結果集的開始

while (rs next()) {

uid_new = rs getString(“uid”);

name = rs getString(“name”);

banji = rs getString(“banji”);

score_new = rs getInt(“score”);

people_array [i] = new people(uid_new name banji score_new);

i++;

}

} catch (Exception e) {

e getMessage();

}

return people_array ;

}

public static void main(String args[]) {

/*

* people new_people=new people();

*

* manage mr=new manage(); //mr add_people(” ” “小明”);插入一個學生的信息

*

* new_people=mr query_people(” “);//查詢uid= 的學生信息 返回對象 System out

* println(“”+new_people getName()+”  “+new_people getBanji());

* mr update_people(” ” “小王”);更新一個學生的信息

*

* new_people=mr query_people(” “);//更新後查詢

*

* System out println(“”+new_people getName()+”  “+new_people getBanji(

* ));

*/

manage mr = new manage();

// mr delete_people(” “);刪除uid= 的學生信息

people[] people_array;// 聲明對象數組

people_array = mr query_people_byscore( );// 返回成績為一百的學生類數組 後輸出

int num = ;

num = people_array length;

for (int i = ; i num; i++) {

System out println(people_array[i] getUid() + ” “

+ people_array[i] getName() + “  “

+ people_array[i] getBanji() + “  “

+ people_array[i] getScore());

}

}

}

lishixinzhi/Article/program/Java/JSP/201311/20030

java 查詢數據庫怎麼循環輸出?

連接數據庫查詢可以得到一個ResultSet

rs結果集總可以實現吧

然後通過

List

list

=

new

ArrayList();

while(rs.next()){

創建一個實體對象po

po.setAttribute1(rs.getString(“value1”));

po.setAttribute2(rs.getString(“value2”));

po.setAttribute3(rs.getString(“value3”));

list.add(po);

}

request.setAttribute(“list”,list);

返回一個list集合到界面通過

c:foreach

item=”${list}”

var=”c”

tr

td${c.value1}/td

td${c.value2}/td

td${c.value3}/td

/tr

/c:foreach

就可以了

Java怎麼查詢出數據庫當前月份的數據並返回給前端

你是想做到JSP頁面不加入%%這種小腳本吧

那可以採用EL表達式,或者一些框架的輸出方式,通常用EL就可以了,因為EL就是用來運算和表達的。後台獲取數據以後,這個數據可以是一個簡單類型,也可以是一個對象,如果是同一個請求下的,也就是request對象沒有變,那麼可以用這個存儲,否則要用session存儲,存儲數據的對象是JSP內置的對象,有page,request,session,application等,每個對象都能存儲數據,但是作用於不同,page針對當前頁面,request針對一個請求,session針對一個會話,application針對整個應用程序。 通常session就可以了。 比如後台獲取一個String的name值,那麼你可以session.setAttribute(“name”,name); 那麼JSP直接可以EL這樣寫:${sessionScope.name} 獲取這個值,這裡的name是後台封裝的鍵的名,不是後面變量name的名。

java中怎麼把數據庫中數據查詢出來

剛剛漏了帳號密碼了,現在補上

try {

//這裡的是MYSQL 舉例

//加載驅動

Class.forName(“com.mysql.jdbc.Driver”);

//創建數據庫連接

Connection con = DriverManager.getConnection(“jdbc:mysql://localhost:3306/test”,”root”,”root”);

//創建查詢 「請求」

PreparedStatement ps = con.prepareStatement(“select * from user”);

//返回查詢結果

ResultSet rs = ps.executeQuery();

//遍歷結果

while(rs.next()) {

//假如 User 表中 有個 name 列

System.out.println(“name “+rs.getString(“name”));

}

//關閉

rs.close();

ps.close();

con.close();

} catch (Exception e) {

e.printStackTrace();

}

如何用Java實現數據庫查詢

import java.sql.*;

public class MSSQLText

{

public static void main(String args[])

{

String url=”jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Northwind”;

String user=”sa”;//這裡替換成你自已的數據庫用戶名

String password=”sa”;//這裡替換成你自已的數據庫用戶密碼

String sqlStr=”select CustomerID, CompanyName, ContactName from Customers”;

try

{ //這裡的異常處理語句是必需的.否則不能通過編譯!

Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”);

System.out.println(“類實例化成功!”);

Connection con = DriverManager.getConnection(url,user,password);

System.out.println(“創建連接對像成功!”);

Statement st = con.createStatement();

System.out.println(“創建Statement成功!”);

ResultSet rs = st.executeQuery(sqlStr);

System.out.println(“操作數據表成功!”);

System.out.println(“—————-!”);

while(rs.next())

{

System.out.print(rs.getString(“CustomerID”) + ” “);

System.out.print(rs.getString(“CompanyName”) + ” “);

System.out.println(rs.getString(“ContactName”));

}

rs.close();

st.close();

con.close();

}

catch(Exception err){

err.printStackTrace(System.out);

}

}

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/184472.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-25 17:24
下一篇 2024-11-25 17:24

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Python 常用數據庫有哪些?

    在Python編程中,數據庫是不可或缺的一部分。隨着互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的數據庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發佈。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • openeuler安裝數據庫方案

    本文將介紹在openeuler操作系統中安裝數據庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟件源 sudo…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29

發表回復

登錄後才能評論