JAVA语句实现提取数据库中的数据

JAVA语句实现提取数据库中的数据,第1张

//建立数据库连接类

import javasqlConnection;

import javasqlDriverManager;

import javasqlSQLException;

public class Utilities {

public static Connection getConnection() {

Connection con = null;

try {

ClassforNam("oraclejdbcdriverOracleDriver");

con = DriverManagergetConnection ("jdbc:mysql://localhost:8080/auction", "scott", "tiger");//这里是数据库连接主机的地址数据库端口库名,帐户密码

} catch (SQLException e) {

// TODO Auto-generated catch block

eprintStackTrace();

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

eprintStackTrace();

}

return con;

}

public static void main(String[] args) {

// TODO Auto-generated method stub

}

}

然后通过这个连接来提取数据库中的数据 实现业务流程

package auctiondaoimpl;

import javasqlConnection;

import javasqlPreparedStatement;

import javasqlResultSet;

import javasqlSQLException;

import javautilArrayList;

import javautilList;

import auctiondaoAuctionUserDao;

import auctionexceptionAuctionException;

import auctionmodelAuctionUser;

import auctionUtilitiesUtilities;

public class AuctionUserDaoJDBCImpl {

public void delete(AuctionUser user) {

Connection con = null;

PreparedStatement ps = null;

try {

con = UtilitiesgetConnection();

consetAutoCommit(false);

ps = conprepareStatement("delete from auction_user where user_id=");

pssetInt(1, usergetId());

psexecute();

concommit();

} catch (Exception e) {

eprintStackTrace();

try {

conrollback();

} catch (SQLException e1) {

// TODO Auto-generated catch block

e1printStackTrace();

}

} finally {

if(ps != null) {

try {

psclose();

} catch (SQLException e) {

// TODO Auto-generated catch block

eprintStackTrace();

}

}

if(con != null) {

try {

conclose();

} catch (SQLException e) {

// TODO Auto-generated catch block

eprintStackTrace();

}

}

}

}

}

如果需要将数据库中的文件导入到电子表格,我也没做过,我引用一下别人的东西。如下

创建Excel 文档

示例1将演示如何利用Jakarta POI API 创建Excel 文档。

示例1程序如下:

import orgapachepoihssfusermodelHSSFWorkbook;

import orgapachepoihssfusermodelHSSFSheet;

import orgapachepoihssfusermodelHSSFRow;

import orgapachepoihssfusermodelHSSFCell;

import javaioFileOutputStream;

public class CreateXL {

/ Excel 文件要存放的位置,假定在D盘JTest目录下/

public static String outputFile="D:/JTest/ gongyexls";

public static void main(String argv[]){

try{

// 创建新的Excel 工作簿

HSSFWorkbook workbook = new HSSFWorkbook();

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

// 如要新建一名为"效益指标"的工作表,其语句为:

// HSSFSheet sheet = workbookcreateSheet("效益指标");

HSSFSheet sheet = workbookcreateSheet();

// 在索引0的位置创建行(最顶端的行)

HSSFRow row = sheetcreateRow((short)0);

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

HSSFCell cell = rowcreateCell((short) 0);

// 定义单元格为字符串类型

cellsetCellType(HSSFCellCELL_TYPE_STRING);

// 在单元格中输入一些内容

cellsetCellValue("增加值");

// 新建一输出文件流

FileOutputStream fOut = new FileOutputStream(outputFile);

// 把相应的Excel 工作簿存盘

workbookwrite(fOut);

fOutflush();

// *** 作结束,关闭文件

fOutclose();

Systemoutprintln("文件生成");

}catch(Exception e) {

Systemoutprintln("已运行 xlCreate() : " + e );

}

}

}

读取Excel文档中的数据

示例2将演示如何读取Excel文档中的数据。假定在D盘JTest目录下有一个文件名为gongyexls的Excel文件。

示例2程序如下:

import orgapachepoihssfusermodelHSSFWorkbook;

import orgapachepoihssfusermodelHSSFSheet;

import orgapachepoihssfusermodelHSSFRow;

import orgapachepoihssfusermodelHSSFCell;

import javaioFileInputStream;

public class ReadXL {

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

public static String fileToBeRead="D:/JTest/ gongyexls";

public static void main(String argv[]){

try{

// 创建对Excel工作簿文件的引用

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

// 创建对工作表的引用。

// 本例是按名引用(让我们假定那张表有着缺省名"Sheet1")

HSSFSheet sheet = workbookgetSheet("Sheet1");

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

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

// 其语句为:HSSFSheet sheet = workbookgetSheetAt(0);

// 读取左上端单元

HSSFRow row = sheetgetRow(0);

HSSFCell cell = rowgetCell((short)0);

// 输出单元内容,cellgetStringCellValue()就是取所在单元的值

Systemoutprintln("左上端单元是: " + cellgetStringCellValue());

}catch(Exception e) {

Systemoutprintln("已运行xlRead() : " + e );

}

}

}

设置单元格格式

在这里,我们将只介绍一些和格式设置有关的语句,我们假定workbook就是对一个工作簿的引用。在Java中,第一步要做的就是创建和设置字体和单元格的格式,然后再应用这些格式:

1、创建字体,设置其为红色、粗体:

HSSFFont font = workbookcreateFont();

fontsetColor(HSSFFontCOLOR_RED);

fontsetBoldweight(HSSFFontBOLDWEIGHT_BOLD);

2、创建格式

HSSFCellStyle cellStyle= workbookcreateCellStyle();

cellStylesetFont(font);

3、应用格式

HSSFCell cell = rowcreateCell((short) 0);

cellsetCellStyle(cellStyle);

cellsetCellType(HSSFCellCELL_TYPE_STRING);

cellsetCellValue("标题 ");

看来lz并没有认真看api文档啊,在接口connection中有一个getmetadata()函数,其返回值是接口databasemetadata,里面有各种数据库的配置信息,如是否支持空、最大连接数、用户可以调用的所有存储过程等,其中包括getschemas()-获取所有模式,gettables(),获取所有的表,根据输入的不同参数可以获取所有表或者其中某个模式的表,还包括表的注射等信息,getcolumns()则是获取表的具体字段,这些函数大多是以resultset的形式返回,和一般的jdbc使用差不多,lz慢慢研究研究吧

使用JDBC连接数据库 ,然后,得到某数据库中所有的表的记录总数:

SELECT SUM(table_rows) FROM information_schematables WHERE table_schema='test';

因为我没有转载DB2 所以没有办法帮你写出具体的sql语句,也不能测试我oracle 为例吧

1不管java 连接那个数据库都是一样的

ClassforName(dir);

String url = "";//数据库名,用户名和密码

Connection conn = DriverManagergetConnection(url);

Statement stat = conncreateStatement();

// 执行你想要执行的sql语句下面是查询,修改和删除有点不一样

ResultSet rs = statexecuteQuery(sql);

你可以通过select table_name from user_tables; 这个sql语句查询才出数据库里面所有的表

再通过 select from ALL_TAB_COLS A where lower(ATable_Name) = '表名' 查询出某一个表的相关信息这样是有点繁琐,不过不失为一种解决方法

2 读取数据就更容易了

直接执行select 就可以了

3 帮刚刚读出来的表结构组装成建表语句 create 一下就可以了

4关于数据类型我也不是很清楚,你可以在网上查一查db2有哪些数据类型然后在建表的时候做一下儿转换就可以了

5你说的也就是把刚刚查询出来的数据插入到数据库中insert 就可以了

其实java *** 作数据库很简单的不同于c查询出来后,做适当的组装处理就可以得到你想要的结果

希望对你有帮助

获得某表所有列的信息:

String sql = select from tname;//tname为某一表名

Connection conn = ;

Statement st = conncreateStatement();

ResultSet rs = strs = stexecuteQuery(sql);

ResultSetMetaData rsmd = rsgetMetaData();

int colcount = rsmdgetColumnCount();//取得全部列数

for(int i=0;i<colcount;i++){

String colname = rsmdgetColumnName(i);//取得全部列名

}

以上为某表字段具体查询,如果是查询表的信息,如在mysql服务器上那样的查询结果的话,可以用一下代码:

ResultSetexecuteQuery("show tables")可以的到所有的表信息。

ResultSetexecuteQuery("describe tname")可以得到表的字段信息。//tname为表名

ps :同样适用于jsp。

以上就是关于JAVA语句实现提取数据库中的数据全部的内容,包括:JAVA语句实现提取数据库中的数据、java如何获取数据库中所有表名、如何用Java实现获得MySQL数据库中所有表的记录总数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10194723.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存