1. 程式人生 > >JDBC資料庫查詢操作

JDBC資料庫查詢操作

以下是按正常的資料庫查詢操作(沒有做優化),程式碼如下:

package com.test.main;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;

import com.test.jdbc.OracleDBConnection;

public class Test {

	public static void main(String[] args) throws Exception {
		// TODO Auto-generated method stub	
		//得到Oracle資料庫連線
		Connection conn=new OracleDBConnection().getConnection();
		//conn.setAutoCommit(false);//設定為不自動提交
		String sql="select licenseplateno,in_date, gps_time,longitude,latitude,height,speed,direction,eff,car_stat1,car_stat2"
				+ " from GPS_LOG_cxc";
		Statement stmt;
		ResultSet resultSet;
		//記錄起始時間 
		long startTime=System.currentTimeMillis();
		try {
			
			stmt = conn.createStatement();
			resultSet = stmt.executeQuery(sql);
			String licenseplateno="";
			long  index =0;
			while (resultSet.next()) {
				++index;
				licenseplateno=resultSet.getString(1);
				System.out.println(index +">>"+licenseplateno);
				
			}
			resultSet.close();
			stmt.close();
			conn.close();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		//記錄結束時間
		long endTime=System.currentTimeMillis();
		//計算執行時間 
		long time=(endTime-startTime)/1000;
		System.out.println("用時:"+time+"秒 ");
	}
}

關於資料庫連線

Connection conn=new OracleDBConnection().getConnection();
我是專門寫了一個類OracleDBConnection,程式碼如下:
package com.test.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;

import com.test.jdbc.IDBConnection;
/**
 * 取得Oracle資料庫連線
 * */
public class OracleDBConnection implements IDBConnection {
	//DB Driver
	private static final String DBDRIVER="oracle.jdbc.driver.OracleDriver";
	//DB URL
	private static final String DBURL="jdbc:oracle:thin:@192.168.95.86:1521:orcl"; 
	//DB User
	private static final String DBUSER="xxtmanage";
	//DB Password
	private static final String DBPASSWORLD="xxtinterface";
	//DB Connection
	private Connection conn=null;
	
	//structor
	public OracleDBConnection() {//在構造方法中進行資料庫連線
		System.out.println("OracleDBConnection.OracleDBConnection()");
		try {
			// 載入驅動程式
			Class.forName(DBDRIVER);
			//連線資料庫
			this.conn=DriverManager.getConnection(DBURL, DBUSER, DBPASSWORLD);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			
		}
		
	}
	@Override
	public Connection getConnection(){
		System.out.println("OracleDBConnection.getConnection()");
		return this.conn;
	}
	
	@Override
	public void close(){
		System.out.println("OracleDBConnection.close()");
		if(this.conn!=null){
			try {
				this.conn.close();
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
	
	

}


執行結果哪下:
19774887>>粵A434XX
19774888>>粵A434XX
19774889>>粵A434XX
19774890>>粵A434XX
19774891>>粵A434XX
19774892>>粵A434XX
19774893>>粵A434XX
19774894>>粵A434XX
19774895>>粵A434XX
19774896>>粵A434XX
19774897>>粵A434XX
19774898>>粵A434XX
19774899>>粵A434XX
19774900>>粵A434XX
19774901>>粵A434XX
用時:2367秒
注意:從以上程式可以看出,現在資料量只有2000萬條不到,花費時間為2367/60=39.45分鐘。速度讓人很不滿意,所以這就提出來瞭如何才能快速的讀大批量資料呢???

解決方法,留待以後再補充。

相關推薦

JDBC資料庫查詢操作

以下是按正常的資料庫查詢操作(沒有做優化),程式碼如下: package com.test.main; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; i

JAVA資料庫查詢操作(JDBC)

下載驅動後,把Microsoft SQL Server JDBC Driver 3.0\sqljdbc_3.0\chs\auth\x64\sqljdbc_auth.dll放在了C:\Windows\SysWOW64裡面,並在環境變數classpath中添加了sqljdbc4.jar的地址。然而在Eclipse

jdbc篇第3課:使用jdbc查詢操作

  這節課我們來講如何用jdbc做查詢操作:   Demo 01: package jdbc; import jdbc.bean.Employee; import java.sql.*; import java.util.ArrayList; impo

JDBC資料庫基本操作(一)

1.什麼是JDBC? 在看JDBC的概念之前先來看看什麼是資料庫驅動。 資料庫驅動中驅動的概念和平時聽到的那種驅動的概念是一樣的,比如平時購買的音效卡,網絡卡直接插到計算機上面是不能用的,必須要安裝相應的驅動程式之後才能夠使用音效卡和網絡卡,同樣道理,我們安裝好資料庫之後,我們的應用程式也是不能直接使用資

資料庫——資料庫查詢操作(sqlite_get_table)

#include <stdio.h> #include <sqlite3.h> // 直接查詢而不需要回調 // 資料庫查詢操作,無回撥 int main() { sqlite3 *db; //宣告sqlite關鍵結構指標 // 1、新建資料檔案 int

資料庫——資料庫查詢操作(sqlite_exec)

#include <stdio.h> #include <pthread.h> // 執行緒的工作函式 void *worker(void *v) { sleep(3); printf ("執行緒退出!\n"); } // 執行緒結束處理: // 1、呼叫 p

JDBC資料庫查詢

package org.lxh.execdemon; import java.sql.Connection; import java.sql.DriverManager; import java.s

單例模式在JDBC資料庫連線操作裡的應用

設計模式之單例模式一般應用在在資料庫操作裡,資料庫操作就要經常建立例項,然後進行資料庫操作,所有就可以將資料庫操作的方法,進行封裝,然後採用單例模式進行設計,然後採用單例模式之後,就可以節約系統資源,對於一些需要頻繁建立和銷燬的物件單例模式無疑可以提高系統的效能先編寫資料庫配

mysql+C#實戰三:資料庫查詢操作

下面程式功能:查詢資料表中的資料數目;並且使用ExecuteScalar()來獲取; using System; using System.Collections.Generic; using Sys

Django--資料庫查詢操作

F查詢和Q查詢:   F查詢:     Django中提供f()來進行兩個值之間的比較,F()可以在查詢中引用欄位來,來比較同一個model例項中的兩個不同的欄位     示例1:查詢賣出數量大於庫存數量的商品 from django.db.models import F ret1=models

JDBC資料庫連線池連線資料庫資料庫操作DAO層設計通用更新及查詢方法(二)

上篇文章主要介紹了通過資料庫連線池連線資料庫,然後設計了對資料庫通用更新和查詢方法,本篇文章主要通過例項介紹上篇文章定義的對資料庫操作的幾個方法的使用:     首先我們先在資料庫建立一個學生資訊表Student欄位如圖: 建立好表將配置檔案的資訊改好然後需要建立一

JDBC資料庫連線池連線資料庫資料庫操作DAO層設計通用更新及查詢方法(一)

該篇文章介紹了資料庫連線池獲取資料庫連線以及資料庫操作的基本使用,然後主要提供了java專案案例中dao層的一種設計,利用反射的原理定義了通用的查詢方法可以對應所有的表和例項。文章中的每段程式碼都提供了詳細的註釋及邏輯步驟 首先匯入資料庫連線的所需要的jar包:    

JDBC -> 連線資料庫,簡單查詢操作

import java.sql.*; public class Test { public static void main(String[] args) { try { // 載入驅動 Class.forName("com.microsoft.sqlserver.jdbc

JDBC java對MySQL資料庫進行查詢操作,並把查詢的結果輸出

Resultset中的所有資料都可以通過getString()方法取得 String是可以接收表中的任意型別列的內容,所以在以下的程式中全部都使用getString()接收 package JDBC;

JDBC最原始的代碼做查詢操作

ride mysq ext drive SQ 代碼 select exe tco 首先編寫一個User類。 public class User { private String username; private String password;

Jdbc 查詢操作

//1.查詢一行資料並返回int型結果 jdbcTemplate.queryForInt("select count(*) from test"); //2. 查詢一行資料並將該行資料轉換為Map返回 jdbcTemplate.queryForMap("s

Qt5.9Creator讀寫Mysql5.7.17資料庫詳細例子(資料庫基本操作:建立表,查詢,插入,刪除,修改)

本文章主要總結的內容是用Qt5.9Creator工程讀寫Mysql5.7.17資料庫。具體的操作步驟如下所述。   一、用Qt5.9的Creator建立一個Console工程,選擇MinGW32編譯器。   二、新增程式碼 2.1建立好工程後,在.pro檔案裡

每隔幾秒查詢資料庫操作頻繁,導致控制檯報錯too many connection,解決方案連線池

原因:傳統的增刪改查已經滿足不了對資料庫的頻繁操作了; 解決方案:資料庫連線池-DBCP連線池 資料庫連線池-DBCP連線池 所需的jar包:  配置檔案: dbcpconfig.properties 這個檔案需要放在src的根目錄下面,和其他的包是同一個級別

資料庫的常見查詢操作

–員工表資訊 select *from emp; –部門表的所有資訊 select from dept; –查詢員工表的所有編號,名字,工資 select empno,ename,sal from emp; –查詢員工表的編號,名字,工資,年薪 select empno,ename,sal,

資料庫查詢資料封裝到XML檔案中,進行格式化處理,並進行加密操作,和解密操作

1.pom檔案 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.7&l