`
qindongliang1922
  • 浏览: 2181098 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7265517b-f87e-3137-b62c-5c6e30e26109
证道Lucene4
浏览量:117402
097be4a0-491e-39c0-89ff-3456fadf8262
证道Hadoop
浏览量:125817
41c37529-f6d8-32e4-8563-3b42b2712a50
证道shell编程
浏览量:59820
43832365-bc15-3f5d-b3cd-c9161722a70c
ELK修真
浏览量:71227
社区版块
存档分类
最新评论

JAVA内存数据库使用demo

阅读更多
上篇文章散仙,写了关于SQLite的使用,本篇我们看下几款JAVA开源的数据库,主要有3个,derby,H2,HSQLdb,都是非常不错的数据库,既可以当内存库,又可以嵌入移动设备充当数据存储的角色,而且完全支持关系型数据库的SQL语法,所以适当了解一些,对以后的数据存储的,或计算会有更好的辅助性。


下面是这3个轻量级的数据库的使用简单例子,其中有些数据库支持内存,文件,网络等方式连接,本篇侧重基于内存,和文件连接的使用,代码如下:


(1),derby的使用:
package com.derby.test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class DerbyTest {

	
	public static void main(String[] args) throws Exception{
		
		Connection connection = null;  
		Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
		connection = DriverManager.getConnection("jdbc:derby:dy;create=true");
	    Statement statement = connection.createStatement();  
	      statement.setQueryTimeout(30);  // set timeout to 30 sec.  
	     // statement.executeUpdate("drop table if exists person ");  
	      statement.executeUpdate("drop table person ");  
	      statement.executeUpdate("create table person (id integer, name varchar(50))");  
	      statement.executeUpdate("insert into person values(1, '我是第一个学生')");  
	      statement.executeUpdate("insert into person values(2, '中国人')");  
	      statement.executeUpdate("insert into person values(45, '外国人')");  
	      statement.executeUpdate("insert into person values(4, '中国人')");  
	      ResultSet rs = statement.executeQuery("select *   from person order by name "); 
	      while(rs.next()){
	    	  System.out.println("id: "+rs.getInt("id")+"   name: " + rs.getString("name")); 
	      }
	      rs.close();
	      statement.close();
	      connection.close();
	      
	      
	}
}



(2)hsqldb的使用:
package com.hsqldb.test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class HSQLdbTest {

	
	public static void main(String[] args) throws Exception{
		
		Connection connection = null;  
		Class.forName("org.hsqldb.jdbcDriver");
	  	//内存计算
		connection = DriverManager.getConnection("jdbc:hsqldb:mem");
		//支持持久存储
		//connection = DriverManager.getConnection("jdbc:hsqldb:file:hsql.db");
	    Statement statement = connection.createStatement();  
	      statement.setQueryTimeout(30);  // set timeout to 30 sec.  
	      statement.executeUpdate("drop table if exists person ");  
	      //statement.executeUpdate("drop table person ");  
	      statement.executeUpdate("create table person (id integer, name varchar(50))");  
	      statement.executeUpdate("insert into person values(1, '我是第一个学生')");  
	      statement.executeUpdate("insert into person values(2, '中国人')");  
	      statement.executeUpdate("insert into person values(45, '外国人')");  
	      statement.executeUpdate("insert into person values(4, '中国人')");  
	      ResultSet rs = statement.executeQuery("select * from person order by id "); 
	      while(rs.next()){
	    	  System.out.println("id: "+rs.getInt("id")+"   name: " + rs.getString("name")); 
	      }
	      rs.close();
	      statement.close();
	      connection.close();
	      
	      
	}
}


(3)h2的使用:
package com.h2.test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class H2Test {

	
	public static void main(String[] args) throws Exception{
		
		Connection connection = null;  
		Class.forName("org.h2.Driver");
	  	//内存计算
		connection = DriverManager.getConnection("jdbc:h2:mem:");
		//支持持久存储
		//connection = DriverManager.getConnection("jdbc:h2:file:./bb.bb");
		//connection = DriverManager.getConnection("jdbc:h2:./bb.bb");
	    Statement statement = connection.createStatement();  
	      statement.setQueryTimeout(30);  // set timeout to 30 sec.  
	      statement.executeUpdate("drop table if exists person ");  
	      //statement.executeUpdate("drop table person ");  
	      statement.executeUpdate("create table person (id integer, name varchar(50))");  
	      statement.executeUpdate("insert into person values(1, '我是第一个学生')");  
	      statement.executeUpdate("insert into person values(2, '中国人')");  
	      statement.executeUpdate("insert into person values(45, '外国人')");  
	      statement.executeUpdate("insert into person values(4, '中国人')");  
	      ResultSet rs = statement.executeQuery("select * from person order by id "); 
	      while(rs.next()){
	    	  System.out.println("id: "+rs.getInt("id")+"   name: " + rs.getString("name")); 
	      }
	      rs.close();
	      statement.close();
	      connection.close();
	      
	      
	}
}




其中h2和hsqldb是非常类似的,但是又有很大的不同,通过下面的一张对比表,我们可以看出来他们之间有什么不同之处:




其实,散仙做这些对比,也是为了了解一下他们不同之处,使用内存库,用来统计一些不需要持久化操作的数据,而且数量不大的数据,是非常方便的。

  • 大小: 463.1 KB
分享到:
评论

相关推荐

    H2 DEMO 数据库 实例 JAVA

    本文将深入探讨H2数据库的使用,特别是结合Java环境下的DEMO实例,以帮助你更好地理解和应用这一强大的数据库系统。 H2数据库的特点: 1. **跨平台性**:由于H2是用Java编写的,因此可以在任何支持Java的平台上运行...

    Android数据库操作Demo

    本教程将深入讲解如何在Android环境中使用SQLite进行数据库操作,包括增、删、改、查等基本功能。 首先,我们需要创建一个SQLite数据库。在Android中,通常通过继承`SQLiteOpenHelper`类来实现。`SQLiteOpenHelper`...

    H2数据库demo展示

    它的设计目标是提供快速、灵活且易于使用的数据库系统,能够在Java应用程序中直接运行,无需安装额外的服务器。在Java开发中,H2数据库因其小巧、高效和便捷而受到广泛欢迎。 H2数据库的主要特性包括: 1. **多模式...

    数据库demo

    在这个"数据库demo"中,我们可能遇到的问题和解决方案可能涵盖以下几个方面: 1. **安装与配置**:SQLite可以通过命令行工具或者API在项目中使用。对于开发者,了解如何在不同编程语言(如Python、Java、C++)中...

    h2 数据库 在java web中的代码 demo

    H2数据库支持多种模式,包括内存模式、单文件模式和服务器模式,这使得它非常适合快速启动和集成到Java应用程序中。下面将详细介绍如何在Java Web项目中使用H2数据库,并提供一个代码示例。 1. **安装与配置** - ...

    将excel数据插入到数据库中去demo.zip

    - 压缩包中可能包含一个简单的数据库示例,可能是像HSQLDB这样的内存数据库,用于演示数据插入的过程。这种数据库易于使用,不需要单独安装,适合测试和开发。 7. **运行实例**: - 运行jar包需要确保环境中已经...

    使用的java系统demo

    【标题】:“使用的Java系统Demo” 在这个“使用的Java系统Demo”中,我们主要探讨的是Java在实际系统开发中的应用和示例。Java是一种广泛应用于企业级应用开发的强大编程语言,以其“一次编写,到处运行”的跨平台...

    IPv4-国家-区域-城市-运营商csv格式数据库-附使用java写的使用demo

    附可运行的使用demo。(demo未做性能优化,很慢也很耗内存,运行请准备好几个g的内存) 此demo不会考虑性能问题,只是用于指导怎么解析ip地址库文件,实现根据ip查询ip的地理位置信息。 运行此demo,请执行DemoMain...

    java运用poi把excel导入数据库demo

    在这个“java运用poi把excel导入数据库demo”中,我们将探讨如何利用POI库将Excel数据有效地导入Oracle数据库。 首先,我们需要理解Apache POI的工作原理。POI提供了HSSF和XSSF两个API,分别用于处理旧版的BIFF8(....

    Java-redis-demo

    在这个"Java-redis-demo"项目中,我们将会探讨如何在Java环境中集成和使用Redis,以便利用它的强大功能。以下是关于Java与Redis交互的一些关键知识点: 1. **Jedis库**: Java连接Redis最常用的客户端库是Jedis。它...

    接收NetFlow数据并导入Mysql数据库的Java工具

    标题中的“接收NetFlow数据并导入Mysql数据库的Java工具”指的是一个利用Java编程语言开发的应用,该应用能够处理从网络设备上收集的NetFlow数据,并将这些数据存储到MySQL数据库中。NetFlow是一种网络流量监测协议...

    GreenDAO3.0 带数据库升级 demo

    这个资源,"GreenDAO3.0 带数据库升级 demo",提供了关于如何在Android项目中使用GreenDAO 3.0的详细示例,涵盖了配置、基本操作以及数据库升级的过程。 首先,让我们了解一下GreenDAO 3.0的主要特点和优势。...

    Java _ JSP分页Demo

    在Java Web开发中,JSP...总之,"Java _ JSP分页Demo"是一个很好的学习资源,可以帮助开发者掌握如何在Java Web应用中使用JSP、Servlet和MVC模式进行数据分页处理。通过实际操作,可以提升对这些技术的理解和应用能力。

    java项目集成neo4j的demo

    总之,这个"java项目集成neo4j的demo"提供了一个很好的起点,帮助开发者快速了解如何在Java应用程序中利用Neo4j的强大功能。通过学习和运行这个示例,你可以掌握图数据库的基本用法,并为进一步深入探索Neo4j的高级...

    h2内存数据库,小巧

    **H2内存数据库详解** H2数据库是一款轻量级、高性能的开源数据库系统,尤其适合于小型项目、测试环境以及快速原型开发。它的设计目标是简单、高效,并且完全支持SQL标准,使得开发者在处理数据存储时能拥有高度的...

    SpringBoot使用mybatis批量新增500万数据到mysql数据库Demo

    Mybatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 `MySQL`是一种关系型数据库管理系统,以其体积小、速度快、总体拥有成本...

    JAVA 商品秒杀demo

    本文将围绕“JAVA 商品秒杀demo”这一主题,详细讲解如何使用Java语言来实现一个商品秒杀系统,以及在这个过程中可能涉及的关键技术和注意事项。 首先,我们要明白秒杀系统的几个核心特性: 1. **高并发**:由于...

    Java连接数据库代码

    Java作为一门广泛使用的编程语言,在处理数据库连接方面提供了丰富的支持。本文将详细介绍几种常见的Java数据库连接方法,包括MySQL、Oracle、SQL Server、DB2等数据库系统的JDBC连接代码示例。 #### 二、JDBC简介 ...

    excel报表功能读入写入数据库功能demo

    本示例"excel报表功能读入写入数据库功能demo"通过Apache POI展示了如何实现这一功能,以学生表为例。 1. **Apache POI介绍** Apache POI 是一个开源项目,它提供了Java API来处理Microsoft Office格式的文件。这...

Global site tag (gtag.js) - Google Analytics