`
feng88724
  • 浏览: 172777 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

CSVJDBC使用感言

阅读更多
CSVJDBC

CSV文件的操作框架都很多,比如Commons的commons-csv、开源的CSVJDBC(只读) 、还有OpenCSV等等
本人最近试用了一下CSVJDBC,在使用的过程中,发现了一个比较奇怪的问题。

一般用法,大家都知道:
	      // load the driver into memory
	      Class.forName("org.relique.jdbc.csv.CsvDriver");
	      // create a connection. The first command line parameter is assumed to
	      //  be the directory in which the .csv files are held
	      Connection conn = DriverManager.getConnection("jdbc:relique:csv:" + "E:\\" );
	      // create a Statement object to execute the query with
	      Statement stmt = conn.createStatement();

	      // Select the ID and NAME columns from sample.csv
	      ResultSet results = stmt.executeQuery("SELECT ID,NAME FROM Book1");
	      // dump out the results
	      while (results.next())
	      {
	        System.out.println("ID= " + results.getString("ID") + "   NAME= " + results.getString("NAME"));
	      }
	      String s = "%F%";	//模糊查询怎么处理?
	      ResultSet results2 = stmt.executeQuery("SELECT ID,NAME FROM Book1 WHERE NAME =" + s);
	      System.out.println("------------------------------------------" + results2);
	      while (results2.next()){
	    	  System.out.println(results2.getString("NAME"));
	      }
	      
	      // clean up
	      results.close();
	      stmt.close();
	      conn.close();
	    }
	    catch(Exception e)
	    {
	      System.out.println("Oops-> " + e);
	    }

小试一下,把里面("SELECT ID,NAME FROM Book1")中的 ID,NAME 换成 *;执行。。完全可以。噢,不错,功能挺强。

然后大家再在这句语句后加个条件 比如:ID = 4,加了条件后的语句("SELECT * FROM Book1 WHERE ID = 5").
执行。。呀,还是可以,不错不错。

这次我们把后面的调教变掉,换成NAME = XXX; 加了条件后的语句("SELECT * FROM Book1 WHERE NAME = XXX").
或者 ("SELECT * FROM Book1 WHERE NAME = 'XXX'").
执行,Failed。。这次不行了。。

这是什么原因呢?找了半天终于发现,只要把前面的 * 换成具体字段名就可以了。。。这叫什么事额。。

另外功能上面限制还是比较多,不能使用模糊查询比较麻烦。还得自己写

希望CSVJDBC能更强大,能真正像查询数据库那样来查询CSV文件。
分享到:
评论

相关推荐

    csvjdbc-r0-10导入示例工程

    在使用csvjdbc之前,需要将其jar文件添加到项目类路径中。如果你使用的是IDE(如Eclipse或IntelliJ IDEA),可以将csvjdbc.jar放入项目的lib目录,并在构建路径中包含它。如果是在命令行环境下,确保java执行时能够...

    csv jdbc 封装连接csv JDBC driver for CSV files

    用jdbc 连接并读取 csv JDBC driver for CSV ...CsvJdbc is a simple read-only JDBC driver that uses Comma Separated Value (CSV) files as database tables. It is ideal for writing data importing programs.

    csvjdbc.jar

    Java操作csv像操作数据库一样简单,类似于操作数据库的方式从csv文件中读取数据

    [csvjdbc] Java解析csv文件的开源包及改动

    NULL 博文链接:https://woniu1983.iteye.com/blog/693251

    CsvJdbc - CSV file JDBC driver-开源

    Java的只读JDBC驱动程序,使用逗号分隔值(CSV)文件作为数据库表。 编写数据导入程序和转换程序的理想选择。

    jdbc-driver-csv-1.0.0.jar

    jdbc-driver-csv-1.0.0.jar

    java使用jdbc将数据库数据导出到csv文件.pdf

    Java 使用 JDBC 将数据库数据导出到 CSV 文件 Java 是一种广泛使用的编程语言,它提供了多种方式来处理数据库数据,而 JDBC(Java Database Connectivity)是 Java 中连接数据库的标准 API 之一。将数据库数据导出...

    dih-csv-jdbc:使用 CSV-JDBC 读取 CSV 文件作为 JDBC 数据库的示例 Apache Solr 核心

    你可以从其官方网站或其他可信源下载最新的 jar 包,如 `csvjdbc.jar`。然后将其添加到 Solr 的 `lib` 目录下,确保 Solr 可以加载这个驱动。 接下来,我们需要配置 Solr 的 DataImportHandler (DIH)。DIH 是 Solr ...

    JDBC2CSV:JDBC 到 CSV

    **JDBC2CSV: 使用Java将数据库数据导出为CSV** `JDBC2CSV` 是一个基于Java的小型工具,它的主要功能是通过Java数据库连接(JDBC)接口从关系型数据库中提取数据,并将其转换成逗号分隔值(CSV)格式的文件。这个...

    Python CSV模块使用实例

    5. **register_dialect和list_dialects**:`csv.register_dialect`用于注册自定义的方言,以便在读写过程中使用。`csv.list_dialects`返回已注册的方言名称列表。 CSV模块在处理表格数据时提供了灵活性,无论是简单...

    csv的使用,源码,程序

    csv的使用,源码,程序

    纯javascript解析CSV文件使用并转成HTML表格

    要解析这样的CSV文件,我们可以使用JavaScript的字符串方法。以下是一个基本的解析过程: 1. **读取CSV文件**:你可以通过`fetch` API或者`XMLHttpRequest`来获取CSV文件的内容。`fetch`更现代且推荐使用,但需要...

    聚类分析CSV文件

    用来进行聚类分析的.CSV文件,一共包含167177个观测值。

    使用Python编程以CSV方式导出Prometheus指定的监控数据

    使用Python编程以CSV方式导出Prometheus指定的监控数据,只要获取PMSQL填入变量即可轻松导出~

    js读取csv文件并使用json显示出来

    在介绍如何使用JavaScript(简称JS)读取CSV文件并使用JSON格式进行展示之前,我们先来了解几个基础概念。 CSV文件是逗号分隔值(Comma-Separated Values)文件的简称,是一种简单的文件格式,用于存储表格数据,...

    java读写csv文件

    Java 读写 CSV 文件是指使用 Java 语言来读取和写入 CSV 文件,CSV 文件是一种常用的数据文件格式,逗号分隔的文本文件,默认可以用 Office 软件打开。CSV 文件可以包含各种特殊字符的处理信息,如对包含特殊字符的...

    java使用javacsv读取csv文件 导入Mysql数据库

    本篇文章将详细讲解如何使用javacsv库来实现这一功能。 首先,`javacsv`是一个轻量级的Java库,专门用于处理CSV文件。它提供了简单易用的API,使我们能够轻松地读取和写入CSV数据。在项目中使用这个库,你需要先将...

    多线程以JDBC的方式返回海量数据

    在JDBC中,我们可以使用`Statement`或`PreparedStatement`对象来执行SQL查询。对于多线程处理,每个线程可以拥有自己的`Statement`或`ResultSet`对象。为了避免线程之间的数据竞争,我们需要确保每个线程只操作它...

Global site tag (gtag.js) - Google Analytics