首页 > 编程知识 正文

java开发用什么数据库工具

时间:2023-12-29 13:16:54 阅读:330273 作者:EJOC

本文目录一览:

怎么实现用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文档。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。