java 傳陣列到Oracle中in arr的方法總結
方法一:把陣列轉為字串,然後把[ ]替換為(),在拼起來
public static void query(Connection conn,String[] arr ){ PreparedStatement pst=null; ResultSet rs=null; StringBuilder sql=new StringBuilder("select * from test_lin where id in "); try { String arrStr=Arrays.toString(arr).replace("[", "(").replace("]", ")"); sql.append(arrStr); pst=conn.prepareStatement(sql.toString()); rs=pst.executeQuery(); while(rs.next()){ System.out.println("id="+rs.getString(1)+"\tname="+rs.getString(2)); } } catch (SQLException e) { e.printStackTrace(); }finally{ close(rs, pst, conn); } }
方法二:用佔位符?來拼
public static void query(Connection conn,String[] arr ){ PreparedStatement pst=null; ResultSet rs=null; StringBuilder sql=new StringBuilder("select * from test_lin where id in "); try { int len=arr.length; sql.append("("); for(int i=0;i<len;i++){ sql.append("?"); if(i!=len-1){ sql.append(","); } } sql.append(")"); pst=conn.prepareStatement(sql.toString()); for(int j=0;j<len;j++){ pst.setObject(j+1,arr[j]); } rs=pst.executeQuery(); while(rs.next()){ System.out.println("id="+rs.getString(1)+"\tname="+rs.getString(2)); } } catch (SQLException e) { e.printStackTrace(); }finally{ close(rs, pst, conn); } }
相關推薦
java 傳陣列到Oracle中in arr的方法總結
方法一:把陣列轉為字串,然後把[ ]替換為(),在拼起來 public static void query(Connection conn,String[] arr ){ PreparedS
Java遍歷包中所有類方法註解
|| asm 服務器 ret nec next 代碼 自定義 tco 一.代碼實例 import java.io.File; import java.io.FileFilter; import java.io.IOException; import java.l
JAVA中循環刪除list中元素的方法總結
tor 循環 toolbar i++ 使用 修改 log span .get 印象中循環刪除list中的元素使用for循環的方式是有問題的,但是可以使用增強的for循環,然後今天在使用時發現報錯了,然後去科普了一下,再然後發現這是一個誤區。下面就來講一講。。伸手黨可直接跳
java.lang.Class類中的某些方法
getc 不定 sys etc .get out 類名 ont class類 反射的代碼會經常遇到,Class類中方法真的多,且用的少,大多用在底層源碼這塊,既然看到了,就記錄一下吧,說不定以後厲害了,自己封裝框架,haha getComponentType()方法: S
Oracle中 in、exists、not in,not exists的比較
src inf .... blog pos str bug class exists 最基本的區別: in 對主表使用索引 exists 對子表使用索引 not in 不使用索引 not exists 對主子表都使用索引 寫法: exist的where條件是: "..
java調用Oracle中的存儲過程與存儲函數
div edr oid rac gist acl ble ava exception 1 //調用存儲過程 2 public static void testPro(){ 3 String driver = "oracle.jdbc.Orac
JAVA中循環刪除list中元素的方法總結(跳格刪除問題解決)(轉)
今天 src log 觸發 導致 spi als exceptio spa 印象中循環刪除list中的元素使用for循環的方式是有問題的,但是可以使用增強的for循環,然後今天在使用時發現報錯了,然後去科普了一下,再然後發現這是一個誤區。下面就來講一講。。伸手黨可直接跳至
【Java】Thread類中的join()方法原理
簡介 join()是Thread類的一個方法。根據jdk文件的定義: public final void join()throws InterruptedException: Waits for this thread to die. join()方法的作用,是
jsp頁面中JSTL/EL標籤引用java後臺靜態static欄位的方法總結
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
Java實現陣列去除重複資料的方法詳解
一.用List集合實現 int[] str = {5, 6, 6, 6, 8, 8, 7,4}; List<Integer> list = new ArrayList<Integer>(); for (int i=0; i<str.length; i++) { if(
oracle中資料型別對應java型別[轉載] oracle中資料型別對應java型別
oracle中資料型別對應java型別 轉載地址:https://www.cnblogs.com/softidea/p/7101091.html 地址: http://otndnld.Oracle.co.jp/document/products/oracle10g/102/
C++中函式返回陣列指標的幾種方法總結
因為陣列不能被拷貝,所以函式不能返回陣列。不過,函式可以返回陣列的指標或引用。返回陣列指標的方法有以下幾種: 1、方法一:使用類型別名。如下 typedef int arrt[10];//arrT是一個類型別名,它表示的型別是含有10個整數的陣列
Java實現陣列去除重複資料的方法詳解(轉)
本文例項講述了Java實現陣列去除重複資料的方法。分享給大家供大家參考,具體如下: 前一段時間被面試問到:如果一個數組中有重複元素,用什麼方法可以去重?一時間會想到用一種方法,但是後來查閱資料後發現,有好多方法可以實現,現在就總結一下,比較簡單的幾種。 一.用List
oracle中in與exist的用法與比較
最近在工作中用到oracle的in函式,但是該函式的引數個數存在上限(1000)的限制,而且涉及查詢的兩個表還在兩個不同的資料庫中,就無法使用exists函式來替代in的使用了。但還是總結一下in與exists的用法差異。 1.in適用於內表比外表資料量小的場景:select * from te
JAVA中sort()常用方法總結
一、Arrays.sort()的用法 import java.util.Arrays; public class Main{ public static void main(String args[
Java-MyBatis:MyBatis 中 in 的用法
ylbtech-Java-MyBatis-雜項:MyBatis 中 in 的用法 1.返回頂部 1、 foreach的主要用在構建in條件中,它可以在SQL語句中進行
ORACLE 中in與exists語句的區別(一)
select * from A where id in(select id from B) 以上查詢使用了in語句,in()只執行一次,它查出B表中的所有id欄位並快取起來.之後,檢查A表的id是否與B表中的id相等,如果相等則將A表的記錄加入結果集中,直到遍歷完A表的所有
java多執行緒中關於join方法的使用
Thread的非靜態方法join()讓一個執行緒B“加入”到另外一個執行緒A的尾部。在A執行完畢之前,B不能工作。例如: Thread t = new MyThread(); t.start(); t.join(); 另外,j
oracle中in和exists的區別
一直以來,大家認為exists比in速度快,其實是不準確的。且看接下來的具體分析:in其實是將外表和內表進行hash join,exists是先對外表進行loop操作,然後每次loop後再對內表進行查詢。 如果兩張表大小差不多,那麼exi
java基礎—String類中的concat()方法
今天遇到一個題 String str=null; str.concat("123"); System.out.println(str); 這道題的執行結果會報 空指標異常 然後聯想到了他和 + 的區別 個人理解如下 首