首先将下载的h2数据库的 bin 目录的jar包引入到项目中

然后使用jdbc连接操作数据库

嵌入式(本地连接)

package test;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.UUID;/***Java通过JDBC方式连接H2数据库*/
public class H2ConnTest1 {//数据库连接URL//private static final String JDBC_URL = "jdbc:h2:E:/Test/h2/bin/test";private static final String JDBC_URL = "jdbc:h2:~/test";//连接数据库时使用的用户名private static final String USER = "sa";//连接数据库时使用的密码private static final String PASSWORD = "sa";//连接H2数据库时使用的驱动类,org.h2.Driver这个类是由H2数据库自己提供的,在H2数据库的jar包中可以找到private static final String DRIVER_CLASS="org.h2.Driver";public static void main(String[] args) throws Exception {// 加载H2数据库驱动Class.forName(DRIVER_CLASS);// 根据连接URL,用户名,密码获取数据库连接Connection conn = DriverManager.getConnection(JDBC_URL, USER, PASSWORD);Statement stmt = conn.createStatement();//如果存在USER_INFO表就先删除USER_INFO表stmt.execute("DROP TABLE IF EXISTS USER_INFO");//创建USER_INFO表stmt.execute("CREATE TABLE USER_INFO(id VARCHAR(36) PRIMARY KEY,name VARCHAR(100),sex VARCHAR(4))");//新增stmt.executeUpdate("INSERT INTO USER_INFO VALUES('" + UUID.randomUUID()+ "','张三1','男')");stmt.executeUpdate("INSERT INTO USER_INFO VALUES('" + UUID.randomUUID()+ "','张三2','男')");stmt.executeUpdate("INSERT INTO USER_INFO VALUES('" + UUID.randomUUID()+ "','张三3','男')");stmt.executeUpdate("INSERT INTO USER_INFO VALUES('" + UUID.randomUUID()+ "','张三4','女')");stmt.executeUpdate("INSERT INTO USER_INFO VALUES('" + UUID.randomUUID()+ "','张三5','男')");stmt.executeUpdate("INSERT INTO USER_INFO VALUES('" + UUID.randomUUID()+ "','张三6','男')");//删除stmt.executeUpdate("DELETE FROM USER_INFO WHERE name='张三6'");//修改stmt.executeUpdate("UPDATE USER_INFO SET name='张三55' WHERE name='张三5'");//查询ResultSet rs = stmt.executeQuery("SELECT * FROM USER_INFO");//遍历结果集while (rs.next()) {System.out.println(rs.getString("id") + "," + rs.getString("name")+ "," + rs.getString("sex"));}//释放资源stmt.close();//关闭连接conn.close();}
}

使用TCP/IP的服务器模式(远程连接)

package test;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.UUID;/***Java通过JDBC方式连接H2数据库*/
public class H2ConnTest2 {//数据库连接URL,通过使用TCP/IP的服务器模式(远程连接)//private static final String JDBC_URL = "jdbc:h2:tcp://10.18.13.150/E:/Test/h2/bin/test";private static final String JDBC_URL = "jdbc:h2:tcp://10.18.13.150/~/test";//连接数据库时使用的用户名private static final String USER = "sa";//连接数据库时使用的密码private static final String PASSWORD = "sa";//连接H2数据库时使用的驱动类,org.h2.Driver这个类是由H2数据库自己提供的,在H2数据库的jar包中可以找到private static final String DRIVER_CLASS="org.h2.Driver";public static void main(String[] args) throws Exception {// 加载H2数据库驱动Class.forName(DRIVER_CLASS);// 根据连接URL,用户名,密码获取数据库连接Connection conn = DriverManager.getConnection(JDBC_URL, USER, PASSWORD);Statement stmt = conn.createStatement();//如果存在USER_INFO表就先删除USER_INFO表stmt.execute("DROP TABLE IF EXISTS USER_INFO");//创建USER_INFO表stmt.execute("CREATE TABLE USER_INFO(id VARCHAR(36) PRIMARY KEY,name VARCHAR(100),sex VARCHAR(4))");//新增stmt.executeUpdate("INSERT INTO USER_INFO VALUES('" + UUID.randomUUID()+ "','张三1','男')");stmt.executeUpdate("INSERT INTO USER_INFO VALUES('" + UUID.randomUUID()+ "','张三2','男')");stmt.executeUpdate("INSERT INTO USER_INFO VALUES('" + UUID.randomUUID()+ "','张三3','男')");stmt.executeUpdate("INSERT INTO USER_INFO VALUES('" + UUID.randomUUID()+ "','张三4','女')");stmt.executeUpdate("INSERT INTO USER_INFO VALUES('" + UUID.randomUUID()+ "','张三5','男')");stmt.executeUpdate("INSERT INTO USER_INFO VALUES('" + UUID.randomUUID()+ "','张三6','男')");//删除stmt.executeUpdate("DELETE FROM USER_INFO WHERE name='张三6'");//修改stmt.executeUpdate("UPDATE USER_INFO SET name='张三55' WHERE name='张三5'");//查询ResultSet rs = stmt.executeQuery("SELECT * FROM USER_INFO");//遍历结果集while (rs.next()) {System.out.println(rs.getString("id") + "," + rs.getString("name")+ "," + rs.getString("sex"));}//释放资源stmt.close();//关闭连接conn.close();}
}

jdbc连接h2操作相关推荐

  1. JAVA通过JDBC连接并操作MySQL数据库

    JAVA通过JDBC连接并操作MySQL数据库 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提 ...

  2. jdbc链接mysql按照id查询_使用jdbc连接并操作Oracle数据库(增删改查IDUS)

    使用jdbc连接并操作Oracle数据库(增删改查IDUS) [oracle@zaibei-db ~]$ sqlplus /nolog SQL*Plus: Release 11.2.0.4.0 Pro ...

  3. jdbc连接orcle数据库_怎样利用JDBC连接并操作Oracle数据库

    之前学习.NET的时候.以前利用ODBC进行连接数据库,而在Java中通常採用JDBC连接数据库,这里以oracle数据库为例简单的总结一下利用JDBC怎样连接并操作数据库. 1.连接 public ...

  4. 使用Spring JDBC框架连接并操作数据库

    在前一篇博文JAVA通过JDBC连接并操作MySQL数据库中,我们知道如何通过JDBC连接并操作数据库,但是请看程序,整个程序连接数据库和关闭数据库占了很大一部分代码量,而且每次我们执行一下数据库操作 ...

  5. 数据层优化-jdbc连接池简述、druid简介

    终于回到既定轨道上了,这一篇讲讲数据库连接池的相关知识,线程池以后有机会再结合项目单独写篇文章(自己给自己挖坑,不知道什么时候能填上),从这一篇文章开始到本阶段结束的文章都会围绕数据库和dao层的优化 ...

  6. jdbc连接操作mysql,直接操作和预处理方式

    步骤: 1. 加载sql数据库驱动 Class.forName("com.mysql.jdbc.Driver"); 2. 连接数据库 con = DriverManager.get ...

  7. day18-事务与连接池 3.jdbc中事务操作介绍

    那么我们都是通过程序操作数据库.所以要了解jdbc下怎样对事务操作.jdbc如何操作事务? 自动事务false那就不开了呗相当于开启事务. package cn.itcast.transaction; ...

  8. jdbc连接Oracle/MySQL数据库进行批量导入操作,如何提高效率???

    使用JDBC连接Oracle数据库进行批量数据导入的时候,特别是大批量数据连续插入(百万级或以上),如何提高效率呢? 在JDBC编程接口中有两个方法特别值得注意: (1)void addBatch() ...

  9. java开发中jdbc连接数据 库的操作代码

    2019独角兽企业重金招聘Python工程师标准>>> JDBC连接数据库 •创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要 ...

最新文章

  1. crontab 最小间隔_今天我间隔了:如何找到不在数组中的最小数字
  2. Linux虚拟机NAT模式设置固定ip
  3. Java:Java 队列的遍历
  4. 高可用的 MFS 文件分布式系统(Drdb+heartbeat+MFS )
  5. java:拷贝文件(夹)
  6. 13. Magento 后台top栏开发(二)
  7. 微信抢红包的方案_微信社群运营应该怎么运作?
  8. php redis返回值,PHP 中redis常用方法
  9. 【PS】443种逼真度超高水彩笔刷打包下载
  10. 浏览器播放视频时蓝牙耳机自动关机
  11. 第三章 输入验证----tapestry教程Enjoying Web DevelopmenEnjoying Development翻译
  12. office2010所做更改会影响共用模板normal
  13. 分析学中的若干空间:
  14. 基因数据处理72之GATK安装成功
  15. 高德地图POI分类查询
  16. UI实用素材|衬线字体素材的应用要点
  17. java中使用length获取二维数组的长度
  18. MiCO物联网操作系统漫谈
  19. 服务器的防御是什么意思?
  20. python爬取qq好友_利用Python爬取QQ好友空间数据

热门文章

  1. 怎样才能拍出漂亮的照片?
  2. 企业云上安全办公,就用华为云桌面
  3. SSP: Semantic Space Projection for Knowledge Graph Embedding with Text Descriptions 论文读书笔记
  4. 暴风科技暴涨之后或将一地鸡毛
  5. Vue学习心得(1)
  6. IOS支付宝SDK跳转wap支付不成功
  7. mac切换应用程序/标签/页标签的快捷键
  8. android rgb保存图片,安卓用户当心:使用RGB色域图片可能会造成手机“变砖”
  9. 密码学基础篇----密码学的加解密
  10. 信用卡不良资产委外催收前景