javasql,javasql語句

本文目錄一覽:

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;

}  

}

java如何執行sql語句

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.sql.Statement;

public class xxxx {

public static void main(String[] args) {

Connection con = null ;

Statement stmt = null ;

try {

Class.forName(“com.mysql.jdbc.Driver”);   //mysql為例 不一樣的數據庫所需的驅動包不一樣 連接語句略有不同

con = DriverManager.getConnection(“jdbc:mysql://127.0.0.1:3306/數據庫名”, “root”, “密碼”);

stmt = con.createStatement();

String sql = “insert into info values (‘用戶’, ‘mima’, ‘piapiapia~’)”;

stmt.executeUpdate(sql);

} catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (SQLException e) {

e.printStackTrace();

} finally {

try {

if(stmt != null) {

stmt.close();

stmt = null;

}

if (con != null) {

con.close();

con = null;

}

} catch (SQLException e) {

e.printStackTrace();

}

}

}

}

怎麼用java連接SQL數據庫?

如何用java連接sql的數據庫 1、java數據庫操作基本流程 : java數據庫操作基本流程:取得數據庫連接 – 執行sql語句 – 處理執行結果 – 釋放數據庫連接

2、幾個常用的重要技巧:可滾動、更新的記錄集 、 批量更新 、事務處理1、取得數據庫連接1)用DriverManager取數據庫連接例子:String className,url,uid,pwd;

className = “oracle.jdbc.driver.OracleDriver”;

url = “jdbc:oracle:thin:@127.0.0.1:1521:orasvr;

uid = “system”;

pwd = “manager”;

Class.forName(className);

Connection cn = DriverManager.getConnection(url,uid,pwd);2)用jndi(java的命名和目錄服務)方式例子String jndi = “jdbc/db”;

Context ctx = (Context) new InitialContext().lookup(“java:comp/env”);

DataSource ds = (DataSource) ctx.lookup(jndi);

Connection cn = ds.getConnection(); //多用於jsp中2、執行sql語句1)用Statement來執行sql語句String sql;

Statement sm = cn.createStatement();

sm.executeQuery(sql); // 執行數據查詢語句(select)

sm.executeUpdate(sql); // 執行數據更新語句(delete、update、insert、drop等)statement.close();2)用PreparedStatement來執行sql語句String sql;

sql = “insert into user (id,name) values (?,?)”;

PreparedStatement ps = cn.prepareStatement(sql);

ps.setInt(1,xxx);

ps.setString(2,xxx);

ResultSet rs = ps.executeQuery(); // 查詢

int c = ps.executeUpdate(); // 更新3、處理執行結果查詢語句,返回記錄集ResultSet。更新語句,返回數字,表示該更新影響的記錄數。ResultSet的方法:1、next(),將游標往後移動一行,如果成功返回true;否則返回false。2、getInt(“id”)或getSting(“name”),返回當前游標下某個字段的值。3、釋放連接。cn.close();一般,先關閉ResultSet,然後關閉Statement(或者PreparedStatement);最後關閉Connection可滾動、更新的記錄集1、創建可滾動、更新的StatementStatement sm=cn.createStatement(ResultSet.TYPE_SCROLL_ENSITIVE,

ResultSet.CONCUR_READ_ONLY);該Statement取得的ResultSet就是可滾動的2、創建PreparedStatement時指定參數PreparedStatemet ps=cn.prepareStatement(sql,

ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);ResultSet.absolute(9000);批量更新1、StatementStatement sm = cn.createStatement();

sm.addBatch(sql1);

sm.addBatch(sql2);

sm.executeBatch()一個Statement對象,可以執行多個sql語句以後,批量更新。這多個語句可以是delete、update、insert等或兼有2、PreparedStatementPreparedStatement ps = cn.preparedStatement(sql);

{

ps.setXXX(1,xxx);

ps.addBatch();

}

ps.executeBatch();一個PreparedStatement,可以把一個sql語句,變換參數多次執行,一次更新。事務的處理1、關閉Connection的自動提交cn.setAutoCommit(false);2、執行一系列sql語句要點:執行每一個新的sql語句前,上一次執行sql語句的Statement(或者PreparedStatemet)必須先closeStatement sm ;

sm = cn.createStatement(insert into user…);

sm.executeUpdate();

sm.close();sm = cn.createStatement(“insert into corp…);

sm.executeUpdate();

sm.close();3、提交cn.commit();

Java調用SQL存儲過程、事務

例示一個不帶參數的簡單存儲過程。多數存儲過程的功能比本例複雜多了,但這裡主要說明存儲過程的一些基本要點。如前面所述,不同DBMS定義存儲過程的語法是不同的。例如,有些DBMS使用begin

.

.

.

end或其他關鍵字指明存儲過程定義的開始和結束。在有些DBMS中,下面的SQL語句可創建一個存儲過程:

create

procedure

SHOW_SUPPLIERS

as

select

SUPPLIERS.SUP_NAME,

COFFEES.COF_NAME

from

SUPPLIERS,

COFFEES

where

SUPPLIERS.SUP_ID

=

COFFEES.SUP_ID

order

by

SUP_NAME

下面的代碼將SQL語句放到一個字符串中,然後賦給變量createProcedure以備後用:

String

createProcedure

=

“create

procedure

SHOW_SUPPLIERS

+

“as

+

“select

SUPPLIERS.SUP_NAME,

COFFEES.COF_NAME

+

“from

SUPPLIERS,

COFFEES

+

“where

SUPPLIERS.SUP_ID

=

COFFEES.SUP_ID

+

“order

by

SUP_NAME”;

下面的代碼段使用Connection對象con來創建Statement對象,用於把創建存儲過程的SQL語句發送給數據庫:

Statement

stmt

=

con.createStatement();

stmt.executeUpdate(createProcedure);

存儲過程SHOW_SUPPLIERS將作為一個可調用的數據庫對象在數據庫中編譯並存儲,調用時就像調用其他方法一樣。

java設置sql結果中文

java設置sql結果中文是亂碼。根據相關信息查詢結果顯示,java設置sql結果中文是亂碼,可以更改DriverManage,在後邊加上設置編碼即可解決。亂碼,指的是由於本地計算機在用文本編輯器打開源文件時,使用了不相應字符集而造成部分或所有字符無法被閱讀的一系列字符。

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

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

相關推薦

  • Python3支持多行語句

    Python3是一種高級編程語言,開發人員可以輕鬆地使用該語言編寫簡單到複雜的代碼。其中Python3支持多行語句,方便開發人員編寫複雜的代碼,提高代碼的可讀性和可維護性。 一、使…

    編程 2025-04-29
  • Python for循環語句打印九九乘法表

    本篇文章將詳細介紹如何使用Python的for循環語句打印九九乘法表。打印九九乘法表是我們初學Python時經常練習的一項基礎操作,也是編寫Python程序的基本能力之一。 1、基…

    編程 2025-04-29
  • Python中while語句和for語句的區別

    while語句和for語句是Python中兩種常見的循環語句,它們都可以用於重複執行一段代碼。然而,它們的語法和適用場景有所不同。本文將從多個方面詳細闡述Python中while語…

    編程 2025-04-29
  • Python中自定義函數必須有return語句

    自定義函數是Python中最常見、最基本也是最重要的語句之一。在Python中,自定義函數必須有明確的返回值,即必須要有return語句。本篇文章將從以下幾個方面對此進行詳細闡述。…

    編程 2025-04-29
  • Python中升序排列的if語句

    本文將為大家介紹Python中升序排列的if語句。首先,我們來看一下如何實現。 if a > b: a, b = b, a if b > c: b, c = c, b …

    編程 2025-04-29
  • Python輸出語句用法介紹

    Python作為一種高級編程語言,為編程帶來了極大的便利和快捷。而輸出語句則是Python編程中不可缺少的一部分,它能夠讓我們看到程序運行的結果、判斷程序的正確性和優化程序等。本文…

    編程 2025-04-28
  • Python語句大全

    本文將詳細闡述Python語句大全,並給出代碼實例。 一、基本語句 Python基本語句包括賦值語句、條件語句、循環語句等,其中最基礎的是賦值語句。如下: a = 1 b = 2 …

    編程 2025-04-28
  • Python同步賦值語句的使用方法和注意事項

    Python同步賦值語句是Python中用來同時為多個變量賦值的一種方法。通過這種方式,可以很方便地同時為多個變量賦值,從而提高代碼的可讀性和編寫效率。下面從多個方面詳細介紹Pyt…

    編程 2025-04-28
  • Python導入模塊的語句

    Python是一種廣泛使用的高級編程語言,它支持面向對象的編程方法,同時還有很多功能強大的內置庫和第三方庫。為了使用這些庫,我們需要導入它們,本文將圍繞Python導入模塊的語句展…

    編程 2025-04-28
  • Python設置圖形填充顏色為綠色的語句

    圖形設計是計算機科學中一個重要的分支,而Python語言也是最受歡迎的圖形設計語言之一。Python憑藉其易用性和開源特性,贏得了很多開發者和程序員的青睞。本文將圍繞如何設置Pyt…

    編程 2025-04-27

發表回復

登錄後才能評論