【Jsp精品源码栏目提醒】:网学会员为广大网友收集整理了,H2数据库管理使用 - 其它资料,希望对大家有所帮助!
H2 数据库使用H2 数据库介绍常用的开源数据库:H2,Derby,HSQLDB,MySQL,PostgreSQL。
其中 H2,HSQLDB类似,十分适合作为嵌入式数据库使用,其它的数据库大部分都需要安装独立的客户端和服务器端。
H2 的优势:1、h2 采用纯 Java 编写,因此不受平台的限制。
2、h2 只有一个 jar 文件,十分适合作为嵌入式数据库试用。
3、性能和功能的优势H2 比 HSQLDB 的最大的优势就是 h2 提供了一个十分方便的 web 控制台用于操作和管理数据库内容,这点比起 HSQLDB 的 swing 和 awt 控制台实在好用多了。
H2 和各数据库特征比较。
准备工作1、h2-2011-04-04.zip 下载地址:http://www.h2database.com/html/download.html2、解压文件,这里以H2_HOME表示为解压的文件目录。
运行H2_HOME/bin/h2.bat将会自动打开下面网址。
请确认是否安装了 jdk,并设置了 JAVA_HOME 环境变量http://192.168.140.1:8082/login.jspjsessionid244e36a683f97f0d4f3b000f33530ed13、点击 connect ,登录。
4、执行上图中红色部分 sql 语句,成功创建 test 表。
因为没有指定数据库文件位置,会自动输出到输出到 C:/Users/Administrator 下。
H2 文件结构H2_HOME-h2 -bin h2-1.3.154.jar //jar 包 h2.bat //Windows 控制台启动脚本 h2.sh //Linux 控制台启动脚本 h2w.bat //Windows 控制台启动脚本(不带黑屏窗口) docs 帮助文档 service //通过 wrapper 包装成服务。
src //源代码 build.bat windows 构建脚本 build.sh linux 构建脚本H2 的使用支持 Embedded,server 和 in-memory 模式以及内存模式。
Embedded 模式1、新建 java project 工程 H2Test。
2、H2_HOME/bin/h2-1.3.154.jar 复制到 /H2Test/lib 下,并加入工程引用。
3、新建 Generic H2 Embedded数据库,指定:JDBCURL:jdbc:h2:E:/research/workspace/H2Test/db/test,然后执行上面的 test sql 语句,来创建一个 test 表。
4、新建 TestH2 类 主要代码public static void mainString a throws Exception Class.forName“org.h2.Driver” Connection conn DriverManager. getConnection“jdbc:h2:E://research//workspace//H2Test//db//test” “sa” “” // add application code here Statement stmt conn.createStatement ResultSet rs stmt.executeQuery“SELECT FROM TEST “ whilers.next System.out.printlnrs.getInt“ID”””rs.getString“NAME” conn.close控制台打印出:1Hiserver 模式1、直接将 jdbc url 改为:jdbc:h2:tcp://localhost//test 就行了。
因为我们在上面第一步的时候已经在 C:/Users/Administrator 创建了 test 数据库。
你也可以再创建新的数据库,默认都是保存在 C:/Users/Administrator 下的。
注意:你必须启动服务:H2_HOME/bin/h2.bat 或者 以服务模式启动:H2_HOME/service/0_run_server_debug.bat ,里面有好几个脚本把 H2 部署为服务模式。
每次机器启动后自动启动 H2 服务。
2、新建 TestServerH2 类 主要代码public static void mainString a throws Exception Class.forName“org.h2.Driver” Connection conn DriverManager. getConnection“jdbc:h2:tcp://localhost//test” “sa” “” // add application code here Statement stmt conn.createStatement ResultSet rs stmt.executeQuery“SELECT FROM TEST “ whilers.next System.out.printlnrs.getInt“ID”””rs.getString“NAME” conn.close运行的结果和上面一样。
内存模式(数据只保存在内存中)1、新建 TestMemH2 类 主要代码public static void mainString a throws Exception Class.forName“org.h2.Driver” Connection conn DriverManager. getConnection“jdbc:h2:tcp://localhost/mem:test2〃 “sa” “” // add application code here Statement stmt conn.createStatement stmt.executeUpdate“CREATE TABLE TEST_MEMID INT PRIMARY KEYNAMEVARCHAR255” stmt.executeUpdate“INSERT INTO TEST_MEM VALUES1 ‘Hello_Mem’” ResultSet rs stmt.executeQuery“SELECT FROM TEST_MEM” whilers.next System.out.printlnrs.getInt“ID”””rs.getString“NAME” conn.close控制台打印出:1Hello_Mem2、上面的 URL 改为 jdbc:h2:/mem:test 也是可以的。
如果是 localhost 必须启动服务。
1.数据库连接的 jdbc urlh2 分嵌入模式和服务模式,根据不同的模式和情况。
连接数据库 jdbc url 的写法不同连接内嵌模式的数据库jdbc:h2:file:D:/test 连接自定目录下的指定数据库jdbc:h2:/test 连接默认目录下的指定数据库连接内存模式的数据库jdbc:h2:mem:test连接 server 模式的数据库jdbc:h2:tcp://localhost//testssl 连接数据库jdbc:h2:ssl://localhost//test连接压缩文件内的数据库jdbc:h2:zip:D:/test.zip/test2.h2 自带的连接池JdbcConnectionPool cp JdbcConnectionPool.createurlusernamepassword通过连接池获取连接Connection conn cp.getConnectionnote:默认连接池是初始 10 个连接3.嵌入模式数据库管理通过代码启动数据库服务Server server Server.createTcpServerserver.start关闭数据库服务server.stop.数据库注销server.shutdown4.通过 h2 自带的方法跟 cvs 文件读写数据1.通过代码读取 csv 的数据ResultSet rs Csv.getInstance.readfileName null nullResultSetMetaData meta rs.getMetaDatawhile rs.next for int i 0 i meta.getColumnCount i System.out.printlnmeta.getColumnLabeli 1 : rs.getStringi 1System.out.printlnrs.close通过代码写 csv 数据SimpleResultSet rs new SimpleResultSetrs.addColumnname Types.VARCHAR 255 0rs.addColumnemail Types.VARCHAR 255 0rs.addRow陈盈 yingchenmidea.com.cnrs.addRow邹嘉欣 zoujxmidea.com.cnCsv.getInstance.writefileName rs null2.使用 h2 自带 cvs 函数通过 sql 语句实现csvread实现读 csv 文件例:SELECT FROM CSVREADd:/test.csvCSVWRITE实现写 csv 文件例:CALL CSVWRITEd:/test.csv SELECT FROM TEST3.根据 cvs 文件创建 h2 数据库表CREATE TABLE TEST AS SELECT FROM CSVREADtest.csv//csv 文件数据创建 test 表 CREATE TABLE TESTID INT PRIMARY KEY NAME VARCHAR255AS SELECT FROM CSVREADtest.csv/创建 test 表,csv 文件相应的列插入到 test 表相应的字段5.H2 数据库备份1.备份 sql 脚本运行java -cp h2.jar org.h2.tools.Script -url jdbc:h2:/test -user sa -script test.zip -optionscompression zip2.备份数据库文件方法 1:进入 h2 shell 命令行模式java -cp h2.jar org.h2.tools.Shell方法 2:在 shell 命令行环境下执行备份命令BACKUP TO backup.zip
上一篇:
CodePro+Analytix介绍及使用说明文档
下一篇:
问卷调查可以自动生成试卷等,并且只能一个用户登录