java開發用什麼數據庫工具

本文目錄一覽:

怎麼實現用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

sqlgrant dba to SampleDB

如何用java實現mysql數據庫的導入導出

MySql導出數據庫的命令如下:

Sql代碼

mysqldump -uusername -ppassword -hhost -Pport exportDatabaseName exportPath

mysqldump -uusername -ppassword -hhost -Pport exportDatabaseName exportPath

利用Java調用命令窗口執行命令來進行MySql導入數據庫一般分三步走:

第一步:登錄Mysql數據庫,在登錄數據庫的時候也可以指定登錄到哪個數據庫,如果指定了則可以跳過第二步;

第二步:切換數據庫到需要導入的目標數據庫

第三步:利用命令開始導入

在進行導出的時候,需要注意命令語句的運行環境,如果已經將mysql安裝路徑下的bin加入到

系統的path變量中,那麼在導出的時候可以直接使用命令語句,否則,就需要在執行命令語句的

時候加上命令所在位置的路徑,即mysql安裝路徑想的bin下的mysqldump命令。

java怎樣實現orecol數據庫導出excel

用java做的話:

1.需要用java程序從數據庫把數據讀出來。

2.把讀出來的數據用POI生成excel輸出即可。

如何用java將數據庫中的表導出到excel

第一步:如何用POI操作Excel

@Test

public void createXls() throws Exception{

//聲明一個工作薄

HSSFWorkbook wb = new HSSFWorkbook();

//聲明表

HSSFSheet sheet = wb.createSheet("第一個表");

//聲明行

HSSFRow row = sheet.createRow(7);

//聲明列

HSSFCell cel = row.createCell(3);

//寫入數據

cel.setCellValue("你也好");

FileOutputStream fileOut = new FileOutputStream("d:/a/b.xls");

wb.write(fileOut);

fileOut.close();

}

第二步:導出指定數據庫的所有表

分析:

1:某個數數據庫有多少表,表名是什麼?―――DataBaseMetadate.getMetadate().getTables(null,null,null,new String[]{Table}); – excel的文件名稱。

2:對每一個表進行select * 操作。 - 每一個sheet的名稱。

3:分析表結構,rs.getMetadate(); ResultSetMedated

4:多個列,列名是什麼.- 字段名就是sheet的第一行信息。

5:獲取每一行的數據 – 放到sheet第一行以後。

@Test

public void export() throws Exception{

//聲明需要導出的數據庫

String dbName = "focus";

//聲明book

HSSFWorkbook book = new HSSFWorkbook();

//獲取Connection,獲取db的元數據

Connection con = DataSourceUtils.getConn();

//聲明statemen

Statement st = con.createStatement();

//st.execute("use "+dbName);

DatabaseMetaData dmd = con.getMetaData();

//獲取數據庫有多少表

ResultSet rs = dmd.getTables(dbName,dbName,null,new String[]{"TABLE"});

//獲取所有表名 - 就是一個sheet

ListString tables = new ArrayListString();

while(rs.next()){

String tableName = rs.getString("TABLE_NAME");

tables.add(tableName);

}

for(String tableName:tables){

HSSFSheet sheet = book.createSheet(tableName);

//聲明sql

String sql = "select * from "+dbName+"."+tableName;

//查詢數據

rs = st.executeQuery(sql);

//根據查詢的結果,分析結果集的元數據

ResultSetMetaData rsmd = rs.getMetaData();

//獲取這個查詢有多少行

int cols = rsmd.getColumnCount();

//獲取所有列名

//創建第一行

HSSFRow row = sheet.createRow(0);

for(int i=0;icols;i++){

String colName = rsmd.getColumnName(i+1);

//創建一個新的列

HSSFCell cell = row.createCell(i);

//寫入列名

cell.setCellValue(colName);

}

//遍曆數據

int index = 1;

while(rs.next()){

row = sheet.createRow(index++);

//聲明列

for(int i=0;icols;i++){

String val = rs.getString(i+1);

//聲明列

HSSFCell cel = row.createCell(i);

//放數據

cel.setCellValue(val);

}

}

}

con.close();

book.write(new FileOutputStream("d:/a/"+dbName+".xls"));

}

java里將從excel讀到的數據用csv導出,代碼怎麼寫

解釋:csv文件實際上就是字符串,之間用“,”進行分割,之後進行的存儲。

工具類如下:

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.OutputStreamWriter;

import java.util.List;

/**

*

* CSV文件導出工具類

*/

public class CSVUtils {

/**

* CSV文件生成方法

* @param head

* @param dataList

* @param outPutPath

* @param filename

* @return

*/

public static File createCSVFile(List head, ListList dataList,

String outPutPath, String filename) {

File csvFile = null;

BufferedWriter csvWtriter = null;

try {

csvFile = new File(outPutPath + File.separator + filename + ".csv");

File parent = csvFile.getParentFile();

if (parent != null !parent.exists()) {

parent.mkdirs();

}

csvFile.createNewFile();

// GB2312使正確讀取分隔符","

csvWtriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(

csvFile), "GB2312"), 1024);

// 寫入文件頭部

writeRow(head, csvWtriter);

// 寫入文件內容

for (List row : dataList) {

writeRow(row, csvWtriter);

}

csvWtriter.flush();

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

csvWtriter.close();

} catch (IOException e) {

e.printStackTrace();

}

}

return csvFile;

}

/**

* 寫一行數據方法

* @param row

* @param csvWriter

* @throws IOException

*/

private static void writeRow(List row, BufferedWriter csvWriter) throws IOException {

// 寫入文件頭部

for (Object data : row) {

StringBuffer sb = new StringBuffer();

String rowStr = sb.append("\"").append(data).append("\",").toString();

csvWriter.write(rowStr);

}

csvWriter.newLine();

}

}

Object-Z

使用java將數據庫中的數據導出到excel中

用jxl來實現

import jxl.Cell;

import jxl.Sheet;

import jxl.Workbook;public String importEnter(HttpServletRequest request) {

Connection conn = null;

PreparedStatement ps = null;

OpenDbBean db = new OpenDbBean();

String message = "";

try {

ServletInputStream is = request.getInputStream();

byte[] junk = new byte[1024];

int bytesRead = 0;

//去掉瀏覽器發送的垃圾信息

bytesRead = is.readLine(junk, 0, junk.length);

bytesRead = is.readLine(junk, 0, junk.length);

bytesRead = is.readLine(junk, 0, junk.length);

bytesRead = is.readLine(junk, 0, junk.length);

Workbook workbook = Workbook.getWorkbook(is);

//取得第一個工作錄

Sheet sheet = workbook.getSheet(0);

//從第二行開始取數據並處理

Enter enter = new Enter();

//連接數據庫

conn = db.getConnection();

String sql =

"insert into haocai_enter(enter_id,enter_time,amount,jsr,type_id,xh)"

+ " values(s_enter_id.nextval,to_date(?,'dd/mm/yyyy'),?,?,?,?)";

ps = conn.prepareStatement(sql);

int okCount = 0;

ArrayList errorRows = new ArrayList();

for (int i = 1; i sheet.getRows(); i++) {

DB mydb = new DB();

Cell[] c = sheet.getRow(i);

String type_id = enter.getTypeIdByPm(c[PM].getContents());

if (type_id != null) {

//設置入庫數據

ps.setString(1, c[ENTER_TIME].getContents());

ps.setString(2, c[AMOUNT].getContents());

ps.setString(3, c[JSR].getContents());

ps.setString(4, type_id);

ps.setString(5, c[XH].getContents());

ps.addBatch();

okCount++;

} else {

message += "br第" + i + "行 " + c[PM].getContents() + " 導入失敗";

}

}

//執行該批過程

if (okCount 0) {

ps.executeBatch();

}

message += "br成功導入" + okCount + " 行";

workbook.close();

} catch (Exception e) {

System.out.println(e.getMessage());

message += "br" + e.getMessage();

} finally {

try {

db.CleanConnection(conn, ps, null);

} catch (SQLException e1) {

e1.printStackTrace();

}

}

return message;

}

用jxl.jar或者poi都可以,poi可以到apache網站上去下。

利用Java 創建和讀取Excel文檔

為了保證示例程序的運行,必須安裝Java 2 sdk1.4.0 和Jakarta POI,Jakarta POI的Web站點是:

示例1將演示如何利用Jakarta POI API 創建Excel 文檔。

示例1程序如下:

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFCell;

import java.io.FileOutputStream;

public class CreateXL {

/** Excel 文件要存放的位置,假定在D盤JTest目錄下*/

public static String outputFile="D:/JTest/ gongye.xls";

public static void main(String argv[])

{

try

{

// 創建新的Excel 工作簿

HSSFWorkbook workbook = new HSSFWorkbook();

// 在Excel工作簿中建一工作表,其名為缺省值

// 如要新建一名為"效益指標"的工作表,其語句為:

// HSSFSheet sheet = workbook.createSheet("效益指標");

HSSFSheet sheet = workbook.createSheet();

// 在索引0的位置創建行(最頂端的行)

HSSFRow row = sheet.createRow((short)0);

//在索引0的位置創建單元格(左上端)

HSSFCell cell = row.createCell((short) 0);

// 定義單元格為字符串類型

cell.setCellType(HSSFCell.CELL_TYPE_STRING);

// 在單元格中輸入一些內容

cell.setCellValue("增加值");

// 新建一輸出文件流

FileOutputStream fOut = new FileOutputStream(outputFile);

// 把相應的Excel 工作簿存盤

workbook.write(fOut);

fOut.flush();

// 操作結束,關閉文件

fOut.close();

System.out.println("文件生成…");

}catch(Exception e) {

System.out.println("已運行 xlCreate() : " + e );

}

}

}

讀取Excel文檔中的數據

示例2將演示如何讀取Excel文檔中的數據。假定在D盤JTest目錄下有一個文件名為gongye.xls的Excel文件。

示例2程序如下:

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFCell;

import java.io.FileInputStream;

public class ReadXL {

/** Excel文件的存放位置。注意是正斜線*/

public static String fileToBeRead="D:/JTest/ gongye.xls";

public static void main(String argv[]){

try{

// 創建對Excel工作簿文件的引用

HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileToBeRead));

// 創建對工作表的引用。

// 本例是按名引用(讓我們假定那張表有着缺省名"Sheet1")

HSSFSheet sheet = workbook.getSheet("Sheet1");

// 也可用getSheetAt(int index)按索引引用,

// 在Excel文檔中,第一張工作表的缺省索引是0,

// 其語句為:HSSFSheet sheet = workbook.getSheetAt(0);

// 讀取左上端單元

HSSFRow row = sheet.getRow(0);

HSSFCell cell = row.getCell((short)0);

// 輸出單元內容,cell.getStringCellValue()就是取所在單元的值

System.out.println("左上端單元是: " + cell.getStringCellValue());

}catch(Exception e) {

System.out.println("已運行xlRead() : " + e );

}

}

}

設置單元格格式

在這裡,我們將只介紹一些和格式設置有關的語句,我們假定workbook就是對一個工作簿的引用。在Java

中,第一步要做的就是創建和設置字體和單元格的格式,然後再應用這些格式:

1、創建字體,設置其為紅色、粗體:

HSSFFont font = workbook.createFont();

font.setColor(HSSFFont.COLOR_RED);

font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);

2、創建格式

HSSFCellStyle cellStyle= workbook.createCellStyle();

cellStyle.setFont(font);

3、應用格式

HSSFCell cell = row.createCell((short) 0);

cell.setCellStyle(cellStyle);

cell.setCellType(HSSFCell.CELL_TYPE_STRING);

cell.setCellValue("標題 ");

總之,如本篇文章所演示的一樣,Java程序員不必擔心Excel工作表中的數據了,利用Jakarta POI API,

我們就可以輕易的在程序中存取Excel文檔。

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

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

相關推薦

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

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

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

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

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

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

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

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

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

    編程 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
  • Python 常用數據庫有哪些?

    在Python編程中,數據庫是不可或缺的一部分。隨着互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的數據庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

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

    編程 2025-04-29

發表回復

登錄後才能評論