當前位置:首頁 » 編程語言 » java實現導入

java實現導入

發布時間: 2022-07-04 05:39:10

❶ 怎樣用java代碼把數據導入到資料庫

Java可以使用JDBC對資料庫進行讀寫。JDBC訪問一般分為如下流程:
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=true&characterEncoding=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的導入功能怎麼實現(excl導入,插入資料庫)

使用jxl或者poi解析excel,jxl用來解析.xls格式的excel,poi用來解析xlsx格式的excel,得到數據,讀取一行,插入一條到資料庫就行了

❸ java導入文件的方法

這要看數據量有多大了,順便更正一下,不是每次都要連接資料庫,而是每次都要發送查詢語句。

如果數據量不是很大,可以先把ID都取出來,這樣在內存中就有了一個ID HashSet,那麼你就可以通過contains來知道ID是否存在

如果數據量很大,顯然不能把ID都取出來,那就要一個一個來,有的資料庫支持批量,請查閱資料庫是否支持,然後通過JDBC進行批量插入

❹ Java web項目有幾種導入方式

陝西優就業小編總結了一種Java web項目導入方式,希望能給你提供幫助。

1、將項目根目錄導入

File->Import->General->Existing Projects into Workspace

2、對Web-INF->lib下的jar表進行 Build Path->Add to Build Path操作

成功後可以在Java Resources->Libraries中找到,也可以在Java
Resources->Libraries->Web App Libraries中找到

BuildPath->Java Build Path->Libraries下Add External JARs

3、添加servlet-api.jar包,其路徑在下

4、導入java web項目出現JRE System Library(unbound)和Server
Library(unbound)解決方法,選中後Edit,將其改為合適的版本

5、修改連接資料庫配置文件,其路徑在/src/c3p0-config.xml

❺ 如何用java實現mysql資料庫的導入導出

MySql導出資料庫的命令如下:
Sql代碼
mysqlmp -uusername -ppassword -hhost -Pport exportDatabaseName > exportPath
mysqlmp -uusername -ppassword -hhost -Pport exportDatabaseName > exportPath

利用Java調用命令窗口執行命令來進行MySql導入資料庫一般分三步走:
第一步:登錄Mysql資料庫,在登錄資料庫的時候也可以指定登錄到哪個資料庫,如果指定了則可以跳過第二步;
第二步:切換資料庫到需要導入的目標資料庫
第三步:利用命令開始導入

在進行導出的時候,需要注意命令語句的運行環境,如果已經將mysql安裝路徑下的bin加入到
系統的path變數中,那麼在導出的時候可以直接使用命令語句,否則,就需要在執行命令語句的
時候加上命令所在位置的路徑,即mysql安裝路徑想的bin下的mysqlmp命令。

❻ 怎樣利用java實現把數據自動導入excel

給你個例子,轉自xiaosa1984。自己按照自己的要求修改即可。jxl.jar 這個得下載導入。

需要導入jxl.jar
搭建環境
將下載後的文件解包,得到jxl.jar,放入classpath,安裝就完成了。

創建文件
擬生成一個名為「測試數據.xls」的Excel文件,其中第一個工作表被命名為「第一頁」,大致效果如下:
代碼(CreateXLS.java):
//生成Excel的類
import java.io.*;
import jxl.*;
import jxl.write.*;
public class CreateXLS
{
public static void main(String args[])
{
try
{
//打開文件
WritableWorkbook book=
Workbook.createWorkbook(new File(「測試.xls」));
//生成名為「第一頁」的工作表,參數0表示這是第一頁
WritableSheet sheet=book.createSheet(「第一頁」,0);
//在Label對象的構造子中指名單元格位置是第一列第一行(0,0)
//以及單元格內容為test
Label label=new Label(0,0,」test」);
//將定義好的單元格添加到工作表中
sheet.addCell(label);
/*生成一個保存數字的單元格
必須使用Number的完整包路徑,否則有語法歧義
單元格位置是第二列,第一行,值為789.123*/
jxl.write.Number number = new jxl.write.Number(1,0,789.123);
sheet.addCell(number);
//寫入數據並關閉文件
book.write();
book.close();
}catch(Exception e)
{
System.out.println(e);
}
}
}
編譯執行後,會在當前位置產生一個Excel文件。

更加詳細內容請見http://..com/question/118637923.html

❼ 如何用Java編寫外部系統介面實現文件導入

// 定義介面
import java.io.FileOutputStream;

public interface OperateFile {

// 導入文件
public boolean importFile(String path,String name);
// 導出文件
public FileOutputStream exportFile(String path);
}

//..........................................
// 實現子類

import java.io.FileOutputStream;

public class OperateFileImp implements OperateFile{

public boolean importFile(String path, String name) {
// File file = new File(path,name)....
// 在此實現方法,作業嘛…
return false;
}

public FileOutputStream exportFile(String path) {
//........
return null;
}

}
//...................................
//..給外部提供介面....

public class Factory {

private static OperateFile op = null;
public static final int OPERATE_FILE= 1001;
private Factory(){

}
// 實現給外部的介面調用
public OperateFile getInstance(int classType){
if(classType==1001){
op = new OperateFileImp();
return op;
}
else{
throw new RuntimeException("要產生的子類沒有定義!");
}
}

}

❽ 怎麼用java實現mysql資料庫的導入導出

使用Java實現對MySql資料庫的導入與導出
packagecom.project.ajaxs;
importjava.io.BufferedReader;
importjava.io.FileInputStream;
importjava.io.FileOutputStream;
importjava.io.InputStream;
importjava.io.InputStreamReader;
importjava.io.OutputStream;
importjava.io.OutputStreamWriter;
importjava.util.Calendar;
importjava.util.Date;
publicclassBakMysql{
//main的方法,主要是我用於測試的,是想著取得CLASS的路徑,然後備份的文件寫在伺服器的類路徑下
publicstaticvoidmain(String[]args){
BakMysqlbk=newBakMysql();

bk.backup();
//bk.load();
}

//backup方法是備份資料庫到伺服器地址
publicvoidbackup(){
Calendarnow=Calendar.getInstance();
Stringname=now.getTime()+""+(now.getTime().getMonth()+1)+""+now.getTime().getDate();
Stringfilename=name.substring(24)+""+name.substring(11,13)+""+name.substring(14,16)+""+name.substring(17,19);
try{
StringfilePath="e:/project"+filename+".sql";
Runtimert=Runtime.getRuntime();
//調用mysql的cmd:
Processchild=rt.exec("C:/ProgramFiles/MySQL/MySQLServer5.0/bin/mysqlmp.exe-uroot-p8095longchunproject");//設置導出編碼為utf8。這里必須是utf8
//注意這一句,是指運行mysqlmp命令,後面跟的是登錄名和登錄的密碼,接著後面的是指備份的資料庫的名字,到此結束,以此生成一個執行的進程,取得此進程的輸出流到我們要備份的文件
//把進程執行中的控制台輸出信息寫入.sql文件,即生成了備份文件。註:如果不對控制台信息進行讀出,則會導致進程堵塞無法運行
InputStreamin=child.getInputStream();//控制台的輸出信息作為輸入流

InputStreamReaderxx=newInputStreamReader(in,"utf-8");//設置輸出流編碼為utf8。這里必須是utf8,否則從流中讀入的是亂碼

StringinStr;
StringBuffersb=newStringBuffer("");
StringoutStr;
//組合控制台輸出信息字元串
BufferedReaderbr=newBufferedReader(xx);
while((inStr=br.readLine())!=null){
sb.append(inStr+" ");

}
outStr=sb.toString();//備份出來的內容是一個字條串

//要用來做導入用的sql目標文件:
FileOutputStreamfout=newFileOutputStream(filePath);
OutputStreamWriterwriter=newOutputStreamWriter(fout,"utf8");
writer.write(outStr);//寫文件
//註:這里如果用緩沖方式寫入文件的話,會導致中文亂碼,用flush()方法則可以避免
writer.flush();
//別忘記關閉輸入輸出流
in.close();
xx.close();
br.close();
writer.close();
fout.close();
}catch(Exceptione){
e.printStackTrace();
}
}
//資料庫的導入
publicvoidload(){
try{
StringfPath="e:/aa.sql";
Runtimert=Runtime.getRuntime();
Processchild=rt.exec("C:/ProgramFiles/MySQL/MySQLServer5.0/bin/mysqladmin.exe-uroot-p8095longchuncreateproject");
Processchild1=rt.exec("C:/ProgramFiles/MySQL/MySQLServer5.0/bin/mysql.exe-uroot-p8095longchunproject");
OutputStreamout=child1.getOutputStream();//控制台的輸入信息作為輸出流
StringinStr;

StringBuffersb=newStringBuffer("");
StringoutStr;

BufferedReaderbr=newBufferedReader(newInputStreamReader(newFileInputStream(fPath),"utf-8"));
while((inStr=br.readLine())!=null){
sb.append(inStr+" ");

}
outStr=sb.toString();

OutputStreamWriterwriter=newOutputStreamWriter(out,"utf8");
writer.write(outStr);

//註:這里如果用緩沖方式寫入文件的話,會導致中文亂碼,用flush()方法則可以避免
writer.flush();
out.close();
br.close();
writer.close();
}catch(Exceptione){
e.printStackTrace();
}
}
}

原文來自http://www.cnblogs.com/anxz/archive/2012/11/19/2777782.html

❾ 怎樣實現java導入導出oracle資料庫

oracle
資料庫導入導出(用dmp的方法)
cmd
1
將資料庫SampleDB完全導出,用戶名system
密碼manager
導出到E:\SampleDB.dmp中
exp
file=E:\sampleDB.dmp
full=y
2將備份資料庫文件中的數據導入指定的資料庫SampleDB
中,如果
SampleDB
已存在該表,則不再導入;
imp
file=D:\SampleDB.dmp
full=y
ignore=y
如果沒有DBA許可權,用以下命令授予DBA許可權
sqlplus
/
as
sysdba;
conn
system/manager
sql>grant
dba
to
SampleDB

熱點內容
手機網頁緩存視頻 發布:2025-02-03 23:38:48 瀏覽:832
agnes演算法 發布:2025-02-03 23:38:05 瀏覽:35
私密上傳在哪 發布:2025-02-03 23:33:04 瀏覽:1002
切冰解壓 發布:2025-02-03 23:30:36 瀏覽:768
解壓攪拌聲 發布:2025-02-03 23:11:35 瀏覽:838
伺服器硬碟誤拔了怎麼辦 發布:2025-02-03 23:05:26 瀏覽:874
易手遙控連接密碼是多少 發布:2025-02-03 22:44:26 瀏覽:172
sql安裝程序配置伺服器失敗 發布:2025-02-03 22:44:25 瀏覽:594
可以寫腳本的點擊器 發布:2025-02-03 22:44:22 瀏覽:622
c演算法代碼 發布:2025-02-03 22:42:20 瀏覽:866