fdsa
alert();
package com.nial.db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class DBUtils {
/** 数据库连接URL */
private String url;
/** 管理员名称 */
private String user = "sa";
/** 管理员密码 */
private String password = "";
/** 临时表名 */
private String m_name = "cc";
/** 建表语句 */
private String m_columnSpec = "ID INTEGER PRIMARY KEY, caller INTEGER,called INTEGER, connected varchar(10) ,beginTime DATE,endTime DATE,inPhyChannel INTEGER, outPhyChannel INTEGER,callType INTEGER,outType INTEGER,timeLength INTEGER";
/** 字段分隔符 */
private String m_separatorSpec = "\\t";
/** 文本数据库链接 */
private Connection connection;
/** 数据文件的位置和名字 */
private String filePathAndName;
DBUtils(String filePathAndName) {
this.setFilePathAndName(filePathAndName);
}
public String getFilePathAndName() {
return filePathAndName;
}
public void setFilePathAndName(String filePathAndName) {
this.filePathAndName = filePathAndName;
}
/**
* 数据库启动
* @throws SQLException
*/
protected void setUp() throws SQLException {
url = "jdbc:hsqldb:file:test;sql.enforce_strict_size=true";
try {
Class.forName("org.hsqldb.jdbcDriver");
} catch (Exception e) {
e.printStackTrace();
System.out.println(this + ".setUp() error: " + e.getMessage());
}
connection = getConnection();
createTable(connection);
}
/**
* 创建一个链接
* @return
* @throws SQLException
*/
private Connection getConnection() throws SQLException {
return DriverManager.getConnection(url, user, password);
}
/**
* 创建一个临时表
* @param connection
* @param filePathAndName
* @throws SQLException
*/
private void createTable(Connection connection) throws SQLException {
String createTable = "DROP TABLE \"" + m_name + "\" IF EXISTS;";
createTable += "CREATE TEXT TABLE \"" + m_name + "\" ( " + m_columnSpec + " );";
connection.createStatement().execute(createTable);
String setTableSource = "SET TABLE \"" + m_name + "\" SOURCE\"" + getDataSourceSpec() + "\"";
connection.createStatement().execute(setTableSource);
}
/**
* 临时表语句
* @param filePathAndName
* @return
*/
private String getDataSourceSpec() {
//忽略第一行数据
return filePathAndName + ";encoding=UTF-8;ignore_first=true;all_quoted=true;cache_scale=12;fs=" + m_separatorSpec;
}
public int getNumTimeLengthByDate(String caller, String startDate, String endDate) throws SQLException {
String selectStmt = "SELECT sum(timeLength) as sumtimelength FROM \"" + m_name + "\" WHERE caller = '"+caller+"' and beginTime between '"+startDate+"' and '"+endDate+"'";
Statement statement = connection.createStatement();
ResultSet results = statement.executeQuery(selectStmt);
int time = 0;
while (results.next()) {
time = results.getInt("sumtimelength");
}
return time;
}
public static void main(String[] args) throws SQLException {
DBUtils utils = new DBUtils("D:\\cstpweb-workspace\\hqlTest\\cc.csv");
utils.setUp();
int i = utils.getNumTimeLengthByDate("80703", "2007-12-01 00:00:00", "2007-12-31 00:00:00");
System.out.println(i);
}
}
测试数据
- cc.zip (16.9 KB)
- 描述: 测试数据
- 下载次数: 31
分享到:
相关推荐
标题中的“hsql-file数据库的java简单调用实现”指的是使用Java编程语言与HSQLDB(HyperSQL数据库)进行交互,特别是在文件模式下操作数据库。HSQLDB是一种轻量级、开源的关系型数据库管理系统,它支持内存模式和...
如何使用hsql数据库
hsql数据库,体积最小的数据库,使用最方便的数据库,不用安装,解压就能用,携带方便
HSQL数据库,全称为HyperSQL Database,是一款轻量级、高性能、完全开源的Java数据库管理系统。它被设计为一个嵌入式数据库,适用于各种应用程序,同时也支持客户端/服务器模式,可以作为独立的数据库服务器使用。...
hsql 数据库详细教程 hsql 数据库是一款纯Java 编写的免费数据库,许可是BSD-style 的协议。如果你是使用 Java 编程的话,不凡考虑一下使用它,相对其他数据库来说,其体积小,仅563kb。仅一个 hsqldb.jar 文件就...
This package contains the latest release 1 of HSQLDB 1.7.3 HSQLDB is a relational database engine and a set of tools written in Java. ... Documentation and license information can be found in the /doc ...
**HSQLDB(HyperSQL Database)**是一种轻量级、高速、开源的纯Java关系型数据库,特别适合于开发测试和原型设计。由于其内存模式,HSQLDB可以在不需安装任何服务器的情况下运行,直接在Java应用程序内部使用,极大...
《HSQL数据库2.2.5:轻量级数据库解决方案详解》 HSQL数据库,全称为HyperSQL Database,是一款开源的、轻量级的Java数据库管理系统,尤其适用于内存模式、单机模式以及分布式多机环境。HSQLDB 2.2.5是其一个重要的...
下面将详细介绍HSQL Database在Java中的使用及相关知识点。 一、HSQL Database的特点 1. **轻量级**: HSQL Database占用资源少,启动快速,尤其适合于内存模式下的应用,如单元测试。 2. **完全SQL支持**: 支持SQL:...
在本篇博文中,我们将深入探讨Spring框架在数据库访问方面的应用,特别关注使用HSQL内存数据库的实践。HSQL数据库是一种轻量级的关系型数据库管理系统,适用于开发测试和快速原型设计,因为它不需要独立服务器进程,...
在本篇博文中,我们将深入探讨Spring框架在数据库访问方面的应用,特别关注使用HSQL内存数据库的实践。Spring是Java领域最广泛使用的轻量级框架之一,它为开发者提供了全面的事务管理、数据访问集成以及IoC...
HSQL(HyperSQL)是一种轻量级、高性能的关系型数据库管理系统,它支持SQL标准并提供了多种运行模式,包括单用户模式、嵌入式模式和服务器模式。HSQL因其小巧、快速和易于使用而受到开发者们的青睐,尤其适用于开发...
《HSQL数据库安装部署使用详解》 HSQL(HyperSQL)是一种轻量级、高性能的关系型数据库管理系统,常用于开发测试环境或者嵌入式应用。本文将详细介绍HSQL的安装、部署以及使用过程,帮助您顺利搭建并操作HSQL数据库...
HSQL是一个用java语言写的微型数据库,其大小在800k左右。麻雀虽小,但五脏俱全,数据库该有的功能他都有。同样是小型数据库,它要不ACCESS好的多,因为他有JDBC包,而且JDBC包和数据库实体是同一个文件,这就是说...
hsql数据库是一款纯Java编写的免费数据库,许可是BSD-style的协议。 相对其他数据库来说,其体积小,才563kb。 仅一个hsqldb.jar文件就包括了数据库引擎,数据库驱动,还有其他用户界面操作等内容