欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

简易指南:H2数据库与MySQL的连接教程 - 必备收藏版

最编程 2024-07-20 19:16:37
...

h2database官网

下载客户端控制台

216676a328345a50fc406a2e82710db2.png
216676a328345a50fc406a2e82710db2.png

h2database Maven配置

com.h2database

h2

1.4.199

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

1.1建库

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

c1a4cc0eb212699f38d2465ad7811148.png
c1a4cc0eb212699f38d2465ad7811148.png

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

59a2ddce4e8266655e9bb639beb2f0ec.png
59a2ddce4e8266655e9bb639beb2f0ec.png

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

932c00138544041c0cc6071db1c52dd8.png
932c00138544041c0cc6071db1c52dd8.png

1.2控制台连接数据库

开打控制台,点击H2 Console

6ac800ecb1de5b4bf75998a59995827c.png
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
e666f577366bf77b92e82a35c7438fc0.png

成功进入浏览器控制台

b8baec3e6878f0843b75b641a68f6544.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();

}

}