h2数据库连接mysql_H2数据库简单使用操作「建议收藏」

h2数据库连接mysql_H2数据库简单使用操作「建议收藏」h2database官网下载客户端控制台h2databaseMaven配置com.h2databaseh21.4.1991控制台新建数据库与连接数据库1.1建库windows系统下点击h2/bin/h2.bat启动控制台应用程序鼠标右键点击桌面右下角图标Createanewdatabase…例如在k盘h2目录下新建helloForm数据库,则填写路径为k:/h2/helloForm…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

h2database官网

下载客户端控制台

216676a328345a50fc406a2e82710db2.png

h2database Maven配置

com.h2database

h2

1.4.199

1 控制台新建数据库与连接数据库

1.1建库

windows系统下点击h2/bin/h2.bat启动控制台应用程序

c1a4cc0eb212699f38d2465ad7811148.png

鼠标右键点击桌面右下角图标 Create a new database…

59a2ddce4e8266655e9bb639beb2f0ec.png

例如在k盘h2目录下新建helloForm数据库,则填写路径为k:/h2/helloForm

932c00138544041c0cc6071db1c52dd8.png

1.2控制台连接数据库

开打控制台,点击H2 Console

6ac800ecb1de5b4bf75998a59995827c.png

driver class 与 jdbc url 有多种填写方式,详情参考官网说明文档

在这里使用 org.h2.Driver 驱动

jdbc url填写为 jdbc:h2:tcp://localhost/k:/h2/helloForm;database_to_upper=false

其中tcp://localhost/表示使用TCP / IP的服务器模式(远程连接),该方式允许有多个客户端同时连接一个数据库

后缀;database_to_upper=false表示取消默认的自动转换成大写。在建表时字段可以区分大小写,在查询数据时,也应该严格区分表名,与字段的大小写

e666f577366bf77b92e82a35c7438fc0.png

成功进入浏览器控制台

b8baec3e6878f0843b75b641a68f6544.png

2 基本使用代码

package com.h2;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;

/**

* @Description: H2内嵌数据库的基本使用

* @author: haidnor

*/

public class H2Test {

/**

* 以嵌入式(本地)连接方式连接H2数据库

*/

private static final String JDBC_URL = “jdbc:h2:K:/Java/H2Test/user”;

/**

* 使用TCP/IP的服务器模式(远程连接)方式连接H2数据库(推荐)

*/

// private static final String JDBC_URL = “jdbc:h2:tcp://10.35.14.122/C:/H2/user”;

// 数据库管理员用户名,用户名不区分大小写

private static final String USER = “root”;

// 数据库管理员用户名

private static final String PASSWORD = “root”;

//数据库驱动

private static final String DRIVER_CLASS = “org.h2.Driver”;

public static void main(String[] args) throws Exception {

// TODO Auto-generated method stub

Class.forName(DRIVER_CLASS);

// 数据库连接,如果目录下没有指定数据库,会自动生成

Connection conn = DriverManager.getConnection(JDBC_URL, USER, PASSWORD);

// 获取数据库操作对象statement

Statement statement = conn.createStatement();

// 建库

statement.execute(“DROP TABLE IF EXISTS USER_INF”);

// 建表

statement.execute(“CREATE TABLE USER_INF(id INTEGER PRIMARY KEY, name VARCHAR(100), sex VARCHAR(2))”);

// 插入数据操作

statement.executeUpdate(“INSERT INTO USER_INF VALUES(1, ‘tom’, ‘男’) “);

statement.executeUpdate(“INSERT INTO USER_INF VALUES(2, ‘jack’, ‘女’) “);

statement.executeUpdate(“INSERT INTO USER_INF VALUES(3, ‘marry’, ‘男’) “);

statement.executeUpdate(“INSERT INTO USER_INF VALUES(4, ‘lucy’, ‘男’) “);

// 查询数据

ResultSet resultSet = statement.executeQuery(“select * from USER_INF”);

// 遍历打印数据

while (resultSet.next()) {

System.out.println(

resultSet.getInt(“id”) + “, “

+ resultSet.getString(“name”) + “, “

+ resultSet.getString(“sex”));

}

// 关闭数据库连接

statement.close();

conn.close();

}

}

H2数据库连接池的基本使用

package com.h2;

import org.h2.jdbcx.JdbcConnectionPool;

import java.sql.*;

/**

* @Description: H2数据库连接池的基本使用

* @author Haidnor

* @creat 2019-12-23-11:15

*/

public class H2PoolTest {

private static final String JDBC_URL = “jdbc:h2:tcp://localhost/K:/Java/H2Test/user”;

// 数据库管理员用户名,用户名不区分大小写

private static final String USER = “root”;

// 数据库管理员用户名

private static final String PASSWORD = “root”;

public static void main(String[] args) throws SQLException {

// JDBC连接池

JdbcConnectionPool pool = JdbcConnectionPool.create(JDBC_URL, USER, PASSWORD);

// 建立连接超时时间

pool.setLoginTimeout(10000);

// 建立连接最大个数

pool.setMaxConnections(100);

Connection conn = pool.getConnection();

// 获取数据库操作对象statement

Statement statement = conn.createStatement();

// 查询数据

ResultSet resultSet = statement.executeQuery(“select * from USER_INF”);

// 遍历打印数据

while (resultSet.next()) {

System.out.println(

resultSet.getInt(“id”) + “, “

+ resultSet.getString(“name”) + “, “

+ resultSet.getString(“sex”));

}

// 释放资源

statement.close();

// 关闭连接

conn.close();

}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/183838.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • cad文字样式设置方法_cad中标注样式的快捷键

    cad文字样式设置方法_cad中标注样式的快捷键有些CAD新手在进行CAD绘图的过程中,想要修改图纸中CAD文字样式时不知道怎么操作,其实很简单,直接调用CAD文字样式快捷键命令即可。下面和小编一起来了解一下浩辰CAD软件中CAD文字样式快捷键命令

    2022年8月5日
    7
  • 如何使用StarUML画类图[通俗易懂]

    此篇文档旨在介绍类图以及如何通过StarUML工具画类图。StarUML官网下载地址:http://staruml.io/download**什么是类图** 类图用于描述系统中所包含的类以及它们之间的相互关系,帮助简化对系统的理解。**类与接口的表现形式**矩形框:它代表一个类(Class)。类图分三层,第一层显示类的名称,如果是抽象类,则就用斜体显示。第二层是类的特性,通常就是字段和属性…

    2022年4月15日
    780
  • SVN汉化包安装方法「建议收藏」

    SVN汉化包安装方法「建议收藏」注意:下载的svn汉化包必须与svn客户端版本对应,否则安装无效     1、首先安装svn客户端,然后将svn汉化包放在svn的安装目录下。   2、安装svn汉化包之前,将svn安装目录下的languages目录下的文件全部删除。3、svn汉化包安装完成后,选择中文即可

    2025年8月15日
    2
  • trylock参数_Qt互斥量的trylock使用

    trylock参数_Qt互斥量的trylock使用spinlock:spin_trylock() 成功返回1;否则返回0。spin_trylock()->raw_spin_trylock()->_raw_spin_trylock()->do_raw_spin_trylock()mutex:mutex_trylock() 成功返回1,失败返回0。semaphore:down_trylock() 成功返回0,失败返回1。rw_sema

    2022年8月31日
    3
  • 解决 1080端口已被占用

    解决 1080端口已被占用转载自https://blog.csdn.net/longintchar/article/details/79680589问题的提出【实验环境】:Win764bit也许你会碰到以下错误:本文给出2种解决方案。方案一既然说端口已被占用,那就需要找出是哪个程序占用了1080端口。打开cmd.exe,输入命令:netstat-aon|findstr”1080″1最后一列就…

    2025年9月24日
    3
  • Ajax请求的五个步骤[通俗易懂]

    Ajax请求的五个步骤[通俗易懂]Ajax请求的五个步骤一、定义1、什么是AjaxAjax:即异步JavaScript和XML。Ajax是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。而传统的网页(不使用Ajax)如果需要更新内容,必需重载整个网页面。2、同步与异步的区别同步提交:当用户发送请求时,当前页面不可以使用,服务器响应页面到客户端,响应完成,用户才可以使用页面。异步提交:当用户发送请

    2022年5月17日
    63

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号