javasql查詢,java mysql 查詢

本文目錄一覽:

如何用java語言中如何執行sql查詢語句

使用jdbc技術,首先導入連接數據庫的jar包,聲明加載的類名,獲取連接,進行查詢,如:

Class.forName(“oracle.jdbc.driver.OracleDriver”);

Connection conn = DriverManager.getConnection(“jdbc:oracle:thin:@localhost:1521:orcl”, “scott”, “tiger”);

Statement sta = conn.createStatement();

ResultSet rs = sta.executeQuery(“select * from tablename”);

java sql數據庫查詢語句怎麼寫

使用java的jdbc來連接數據庫

如連接mysql(其餘數據庫類似),引入mysql-connector-java-5.1.24.jar包到工程中,在程序中可以這樣連接mysql:

String Server = 你服務器的ip;

String User = 你的賬號名;

String Password = 你的密碼;

String Database = 你的數據庫名;

// 驅動程序名

String driver = “com.mysql.jdbc.Driver”;

// URL指向要訪問的數據庫名scutcs

String url = “jdbc:mysql://”+Server+”/” + Database;

// 加載驅動程序

Class.forName(driver);

// 連續數據庫

Connection conn = DriverManager.getConnection(url, User, Password);

if(!conn.isClosed())

System.out.println(“Succeeded connecting to the Database!”);

// statement用來執行SQL語句

Statement statement = conn.createStatement();

String sql = “select ** from ** where **”;

ResultSet rs = statement.executeQuery(sql);

//假設數據庫表只有兩個屬性值,一個屬性值為String類型,另一個為Int類型

while(rs.next()) {

System.out.println(rs.getString(1)+” ” +rs.getInt(2) );

}

java 獲取SQL查詢語句返回的結果

在Java中,獲得ResultSet的總行數的方法有以下幾種。

第一種:利用ResultSet的getRow方法來獲得ResultSet的總行數

Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);

ResultSet rset = stmt.executeQuery(“select * from yourTableName”);

rset.last();

int rowCount = rset.getRow(); //獲得ResultSet的總行數

第二種:利用循環ResultSet的元素來獲得ResultSet的總行數

ResultSet rset = stmt.executeQuery(“select * from yourTableName”);

int rowCount = 0;

while(rset.next()) {

rowCount++;}rowCount就是ResultSet的總行數。

第三種:利用sql語句中的count函數獲得ResultSet的總行數

ResultSet rset = stmt.executeQuery(“select count(*) totalCount from yourTableName”);

int rowCount = 0;

if(rset.next()) {

rowCount=rset .getInt(“totalCount “);}rowCount就是ResultSet的總行數。

middot;*****************************************************************************************************************

middot;Java中獲得ResultSet的總列數是非常簡單事情,因為Java中ResultSet提供了ResultSetMetaData工具類,ResultSetMetaData是ResultSet的元數據的集合說明。

java獲得ResultSet總列數的代碼如下:

Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);

ResultSet rset = stmt.executeQuery(“select * from yourtable”);

ResultSetMetaData rsmd = rset.getMetaData() ;

columnCount就是ResultSet的總列數。

java 獲取SQL查詢語句返回的結果?

step1:構造連接

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

Connection con = DriverManager.getConnection(“jdbc:mysql://127.0.0.1:3306/db”,”root”,”123″);

step2:構造語句

String sql = “select username,password from t_user where username=?”;

PreparedStatement stmt = con.prepareStatement(sql);

stmt.setString(1, “zhangshan”); //給SQL的”?”(問號)傳值。

step3:執行查詢

ResultSet rs = stmt.executeQuery(); //rs就是SQL查詢語句返回的結果集

step4:處理結果(java 獲取SQL查詢語句返回的結果)

List list = new ArrayList();

//遍歷結果集,這樣寫就可以了,就是一個循環,有多少條記錄,這裡就會循環多少次,

//一次就是一條記錄,想像一下就像一個表的一條記錄

//在這裡可以做查詢出來的數據處理,可以封裝成對象之類的(就是把值給它)

if(rs.next()) { //遍歷結果集,這樣寫就可以了

User u = new User();

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

String address = rs.getString(“password “);

u.setUsername(username);

u.setAddress(address);

list.add(u);

}

//上面這個例子意思是,把每一條記錄封裝成了一個User對象,然後這些User對象都放存入到了一個list

step4:關閉連接等

java如何實現sql連接和查詢的代碼?

import java.sql.Connection。

import java.sql.DriverManager;  

import java.sql.PreparedStatement;  

import java.sql.ResultSet;  

import java.sql.SQLException;

import javax.naming.Context;  

import javax.naming.InitialContext;  

import javax.naming.NamingException;  

import javax.sql.DataSource;

public class DBCon {

//數據庫驅動對象

public static final String DRIVER=”oracle.jdbc.driver.OracleDriver”;

//數據庫連接地址(數據庫名)

public static final String URL=”jdbc:oracle:thin:@localhost:1521:orcl”;

//登陸名

public static final String USER=”FM”;

//登陸密碼

public static final String PWD=”FM”;

//創建數據庫連接對象

private Connection con=null;

//創建數據庫預編譯對象

private PreparedStatement ps=null;

//創建結果集

private ResultSet rs=null;

//創建數據源對象

public static DataSource source=null;

//  //靜態代碼塊  

//  static{  

//  

//      //初始化配置文件context  

//      try {  

//          Context context=new InitialContext();  

//          source=(DataSource)context.lookup(“java:comp/env/jdbc/webmessage”);  

//      } catch (Exception e) {  

//          // TODO Auto-generated catch block  

//          e.printStackTrace();  

//      }  

//  

//  

//  }

/**

* 獲取數據庫連接

*/

public Connection getCon(){

try {

Class.forName(DRIVER);

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

try {

con=DriverManager.getConnection(URL,USER,PWD);

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return con;

}  

//  /**  

//   * 獲取數據庫連接  

//   */  

//  public Connection getCon(){  

//  

//      try {  

//          con=source.getConnection();  

//      } catch (SQLException e) {  

//          // TODO Auto-generated catch block  

//          e.printStackTrace();  

//      }  

//  

//      return con;  

//  }  

/**

* 關閉所有資源

*/

public void closeAll(){

if(rs!=null)

try {

rs.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

if(ps!=null)

try {

ps.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

if(con!=null)

try {

con.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}  

}

/**

* @param sql數據庫更新(增、刪、改) 語句

* @param pras參數列表(可傳,可不傳,不傳為NULL,以數組形式存在)

* @return 返回受影響都行數

*/

public int update(String sql,String… pras){

int resu=0;

con=getCon();

try {

ps=con.prepareStatement(sql);

for(int i=0;ipras.length;i++){

ps.setString(i+1,pras[i]);

}

resu=ps.executeUpdate();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

finally{

closeAll();

}

return resu;

}

/**

* @param sql數據庫查詢語句

* @param pras參數列表(可傳,可不傳,不傳為NULL,以數組形式存在)

* @return 返回結果集

*/

public ResultSet query(String sql,String… pras){

con=getCon();

try {

ps=con.prepareStatement(sql);

if(pras!=null)

for(int i=0;ipras.length;i++){

ps.setString(i+1, pras[i]);

}

rs=ps.executeQuery();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return rs;

}  

}

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

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

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

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

    編程 2025-04-29
  • Java JsonPath 效率優化指南

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

    編程 2025-04-29
  • 如何修改mysql的端口號

    本文將介紹如何修改mysql的端口號,方便開發者根據實際需求配置對應端口號。 一、為什麼需要修改mysql端口號 默認情況下,mysql使用的端口號是3306。在某些情況下,我們需…

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

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

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

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

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

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

    編程 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
  • VSCode為什麼無法運行Java

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

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29

發表回復

登錄後才能評論