proxool+hsqldb数据库
使用hsqldb数据库,开发环境eclipse,jdk8.0
Dsqldb数据库
1、下载包:hsqldb.jar
2、新建项目,复制到项目WebContent -> WEB -> INF -> lib下面,右键选择 Build Path -> Add to Build Path
3、在项目中找到Referenced Libraries点击,选择hsqldb.jar -> org.hsqldb.server -> Server.class -> Server 右键 选择 Run as -> 1 JAVA Application 启动项目
4、选择hsqldb.jar -> org.hsqldb.util -> DatabaseManagerSwing.class -> DatabaseManagerSwing 右键 选择 Run as -> JAVA Application 启动数据库
5、之后会弹出窗口,在第二个下拉框中 hsqldb database server ,点击OK登录(其他不需做改变),这里是指以hsqldb的客户端登录
Proxool
1、下载:官方网址:http://proxool.sourceforge.net/servlets.html (包:proxool-0.9.1.jar下载解压缩,之后会在lib有两个包,在jarjar有两个包,导入到项目lib中(包为:jarjar-0.6.jar、proxool-0.9.1.jar、proxool-cglib.jar、cglib-nodep-2.1_3.jar));
在之后的测试代码中,还需下载commons-dbcp-1.2.2.jar、commons-io-1.3.2.jar、commons-lang-2.4.jar、commons-logging-1.0.4.jar、commons-logging-api-1.1.jar、commons-pool-1.4.jar(commons包)
测试代码:
eclipse连接dsqldb数据库
package com.hsqldb; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; //使用hsqldb数据库连接
public class hsqlconfig { public static void main(String[] args) {
Connection conn = null;
ResultSet rs = null;
try {
//选择dsqldb.jar -> org.hsqldb.jdbc -> JDBCDriver.class -> JDBCDriver右键选择Copy Qualified Name
//粘贴到这里。这里的意思就是告诉eclipse说你去给我加载dsqldb的数据库驱动
Class.forName("org.hsqldb.jdbc.JDBCDriver");
//选择dsqldb.jar -> org.hsqldb.util -> DatabaseManagerSwing.class -> DatabaseManagerSwing右键选择Copy Qualified Name
//之后会弹出dsqldb客户端登录窗体,选择 URL 复制 jdbc:hsqldb:hsql://localhost/
//默认dsqldb账号为sa,密码为空;
conn = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost/","SA","");
Statement stmt = conn.createStatement();
rs = stmt.executeQuery("select count(*) as ant from userinfo");
if(rs!=null){
while(rs.next()){
System.out.println(rs.getInt("ant"));
}
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
dsqldb
eclipse连接hsqldb数据库,使用JAVA配置
package com.proxool; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties; //直接java编写配置
public class JavaProxool { public static void main(String[] args) {
//Properties 配置文件,用户存放系统配置信息等
Properties info = new Properties();
info.setProperty("proxool.maximum-connection-count", "20");
info.setProperty("proxool.house-keeping-test-sql", "select CURRENT_DATE");
info.setProperty("user", "sa");
info.setProperty("password", "");
String alias = "test";
String driverClass = "org.hsqldb.jdbc.JDBCDriver";
String driverUrl = "jdbc:hsqldb:hsql://localhost/";
String url = "proxool." + alias + ":" + driverClass + ":" + driverUrl; try {
//加载驱动包(proxool的驱动包)
Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
} catch (ClassNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
Connection conn = null;
ResultSet rs = null;
try {
//执行连接过程,其中url是完整的路径,info是配置信息
conn = DriverManager.getConnection(url, info);
//声明一个可执行sql语句的对象
Statement stmt = conn.createStatement();
rs = stmt.executeQuery("select count(*) as ant from userinfo");
if(rs!=null){
while(rs.next()){
System.out.println(rs.getInt("ant"));
}
}
} catch (SQLException e) {
e.printStackTrace();
}
} }
Java配置
eclipse使用properties连接hsqldb数据库
package com.proxool; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; //使用proxool透明模式连接数据库
public class proxoolconfig { public static void main(String[] args) {
Connection conn = null;
ResultSet rs = null;
try {
Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
//proxool.example 是别名
//org.hsqldb.jdbc.JDBCDriver 是数据库的名称
//jdbc:hsqldb:hsql://localhost/ 是url地址
conn = DriverManager.getConnection("proxool.example:org.hsqldb.jdbc.JDBCDriver:jdbc:hsqldb:hsql://localhost/");
Statement stmt = conn.createStatement();
rs = stmt.executeQuery("select count(*) as ant from userinfo");
if(rs!=null){
while(rs.next()){
System.out.println(rs.getInt("ant"));
}
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}finally{
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
使用Properties连接hsqldb
eclipse连接hsqldb数据库,使用properties文件配置
package com.proxool; import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties; import org.logicalcobwebs.proxool.ProxoolException;
import org.logicalcobwebs.proxool.configuration.PropertyConfigurator; //使用Properties配置文件信息
public class Properties_Proxool { public static void main(String[] args) {
Connection conn = null;
ResultSet rs = null;
Properties info = new Properties();
try {
//Properties_Proxool.class.getResourceAsStream是读取Src下的文件信息
info.load(Properties_Proxool.class.getResourceAsStream("/proxool.properties"));
//读取使用Java的特性文件编写的配置文件。
PropertyConfigurator.configure(info);
} catch (IOException e) {
e.printStackTrace();
}catch (ProxoolException e) {
e.printStackTrace();
}
try {
//加载驱动包
Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
conn = DriverManager.getConnection("proxool.property-test");
Statement stmt = conn.createStatement();
rs = stmt.executeQuery("select count(*) as ant from userinfo");
if(rs!=null){
while(rs.next()){
System.out.println(rs.getInt("ant"));
}
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
Properties文件配置系统信息
记住使用properties配置,必须新建properties文件,同时放在准确的地方,这里是放在Src下,同时代码也是通过Src去找这个文件
jdbc-0.proxool.alias=property-test
jdbc-0.proxool.driver-url=jdbc:hsqldb:hsql://localhost/
jdbc-0.proxool.driver-class=org.hsqldb.jdbc.JDBCDriver
jdbc-0.user=sa
jdbc-0.password=
jdbc-0.proxool.maximum-connection-count=10
jdbc-0.proxool.house-keeping-test-sql=select CURRENT_DATE
Properties配置
eclipse连接hsqldb数据库,使用XML文件配置
package com.proxool; import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties; import org.logicalcobwebs.proxool.ProxoolException;
import org.logicalcobwebs.proxool.configuration.JAXPConfigurator;
import org.logicalcobwebs.proxool.configuration.PropertyConfigurator; //使用新建xml编写配置
public class XmlProxool { public static void main(String[] args) {
Connection conn = null;
ResultSet rs = null;
Statement stmt;
try {
Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
try {
//InputStreamReader 实例一个读取流
//XmlProxool.class.getResourceAsStream 读取的是src下的文件
//使用XML配置,解析的时候就是用 JAXPConfigurator.configure()解析
//使用Properties配置,解析的时候用 PropertyConfigurator.configure()
JAXPConfigurator.configure(new InputStreamReader(XmlProxool.class.getResourceAsStream("/proxool.xml")),false);
try {
conn = DriverManager.getConnection("proxool.xml-test");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} } catch (ProxoolException e) { e.printStackTrace();
}
try {
stmt = conn.createStatement();
System.out.println(stmt);
rs = stmt.executeQuery("select count(*) as ant from userinfo");
if(rs!=null){
while(rs.next()){
System.out.println(rs.getInt("ant"));
}
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
}
}
}
XML文件配置系统信息
同上,这里也是放在Src文件下,代码也是通过Src去找XML文件
<proxool-config>
<proxool>
<alias>xml-test</alias>
<driver-url>jdbc:hsqldb:hsql://localhost/</driver-url>
<driver-class>org.hsqldb.jdbc.JDBCDriver</driver-class>
<!-- <statistics>1m,15m,1d</statistics> -->
<driver-properties>
<property name="user" value="SA"/>
<property name="password" value=""/>
</driver-properties>
<maximum-connection-count>10</maximum-connection-count>
<house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
</proxool>
</proxool-config>
XML配置
使用Tomcat访问网页,将该数据库的信息加载出来(Tomcat 8.0)
1、新建Servlet,编写代码
package com.proxool.servlet; import java.io.IOException;
import java.io.InputStreamReader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import org.logicalcobwebs.proxool.ProxoolException;
import org.logicalcobwebs.proxool.configuration.JAXPConfigurator;
import org.logicalcobwebs.proxool.configuration.PropertyConfigurator; import com.proxool.Properties_Proxool;
import com.proxool.XmlProxool; @WebServlet("/helloproxool")
public class helloproxool extends HttpServlet {
private static final long serialVersionUID = 1L; public helloproxool() {
super();
} protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Connection conn = null;
ResultSet rs = null;
Statement stmt;
try {
Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
try {
try {
conn = DriverManager.getConnection("proxool.xml-test");
} catch (SQLException e) { e.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
}
try {
stmt = conn.createStatement();
System.out.println(stmt);
rs = stmt.executeQuery("select count(*) as ant from userinfo");
if(rs!=null){
while(rs.next()){
System.out.println(rs.getInt("ant"));
}
}
} catch (SQLException e) { e.printStackTrace();
}
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
}
} protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
} }
Servlet代码
2、通过配置Web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<display-name>test_hsqldb</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list> <servlet>
<servlet-name>proxool</servlet-name>
<!--这是proxool自带的Servlet类 -->
<servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class>
</servlet> <servlet-mapping>
<servlet-name>proxool</servlet-name>
<!--通过访问admin,访问AdminServlet -->
<url-pattern>/admin</url-pattern>
</servlet-mapping> <servlet>
<servlet-name>ServletConfigurator</servlet-name>
<!--解析xml信息 -->
<servlet-class>org.logicalcobwebs.proxool.configuration.ServletConfigurator</servlet-class>
<init-param>
<param-name>xmlFile</param-name>
<param-value>WEB-INF/proxool.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet> <servlet>
<servlet-name>A</servlet-name>
<servlet-class>com.proxool.servlet.helloproxool</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>A</servlet-name>
<url-pattern>*.j12</url-pattern>
</servlet-mapping>
</web-app>
Web.xml配置
3、访问:http://localhost:8080/test_hsqldb/admin.j12,他会先去启动hsqldb数据库
访问http://localhost:8080/test_hsqldb/admin,会出现以下这个,就是可以的!

proxool+hsqldb数据库的更多相关文章
- Eclipse 连接hsqldb数据库
初学Java,在接触数据库根本无从下手,不知如何将程序和数据库连接起来,今天做一个记录. 数据库是:hsqldb_1_8_0_5 附链接百度云盘 链接:https://pan.baidu.com/s/ ...
- 关于HSQLDB访问已有数据库文件的操作说明
关于HSQLDB数据库的创建,本文不做过多描述,可以在百度上搜索一下,有许多. 对于访问已存在的库文件,网上找了半天,没有整理的很清楚的参考资料,现将自己的操作过程整理如下,以供参考. 1.先下载一个 ...
- hsql数据库使用详解(入门)及快速使用
一.简介: hsql数据库是一款纯Java编写的免费数据库,许可是BSD-style的协议,如果你是使用Java编程的话,不凡考虑一下使用它,相对其 他数据库来说,其体积小,才563kb.仅一个hsq ...
- 关于lemon oa的数据库
lemonOA的数据库默认用的是hsqldb,这个数据库还是第一次听说,暂且不论. 也就说Lemon OA默认使用HSQLDB数据库,是嵌入式的数据库不需要单独安装. lemon-1.4.0\weba ...
- Hsqldb安装与使用
HSQLDB是一个轻量级的纯Java开发的开放源代码的关系数据库系统,其体积小,占用空间小,使用简单,支持内存运行方式等特点.可以在http://sourceforge.net/projects/hs ...
- Eclipse 和 HSQLDB: 将关系数据库服务器嵌入到 Eclipse 中,第 2 部分
HSQLDB 开发者角色 对 HSQLDB 与 Eclipse 工作台的集成感兴趣的开发者可以很容易地被分为两类: 客户机开发者,他们只是用 HSQLDB 来存储数据. 引擎开发者,他们通过添加新的标 ...
- HSQLDB相关信息及用法汇总
运行模式 说明 启动命令 JDBC例 内存(Memory-Only)模式 所有数据都在内存里操作.应用程序退出后则数据被销毁.无需另外启动HSQLDB Server 启动方式1:通过程序中首次调用Co ...
- WEKA从sqlite数据库文件导入数据
1.编写代码的方式 只需要在java工程中导入weka.jar和sqlite-jdbc-3.8.7.jar两个jar包, weka.jar可以在weka的安装路径下找到, sqlite-jdbc-3. ...
- hsqldb简单使用总结
hsqldb数据库是一款纯Java实现的开源免费数据库,相对其他数据库来说,体积非常小,使用方便,非常利于在测试环境中使用,无需复杂的数据库配置. hsqldb数据库引擎有几种服务器模式:Se ...
随机推荐
- 再探.NET的PE文件结构(安全篇)
一.开篇 首先写在前面,这篇文章源于个人的研究和探索,由于.NET有自己的反射机制,可以清楚的将源码反射出来,这样你的软件就很容易被破解,当然这篇文章不会说怎么样保护你的软件不被破解,相反是借用一个软 ...
- 《3D Math Primer for Graphics and Game Development》读书笔记1
<3D Math Primer for Graphics and Game Development>读书笔记1 本文是<3D Math Primer for Graphics and ...
- EDM制作要点
EDM是Email Direct Marketing的缩写,虽然也是html,但是和我们在网页上使用的html不同,因为安全原因,各大邮箱服务商级邮件客户端都会对邮件内容进行一定程度上的处理,不会按照 ...
- 机器学习理论知识部分--偏差方差平衡(bias-variance tradeoff)
摘要: 1.常见问题 1.1 什么是偏差与方差? 1.2 为什么会产生过拟合,有哪些方法可以预防或克服过拟合? 2.模型选择例子 3.特征选择例子 4.特征工程与数据预处理例子 内容: 1.常见问题 ...
- Android开发学习之路-SnackBar使用心得
SnackBar是DesignSupportLibrary中的一个重要的控件,用于在界面下面提示一些关键信息,跟Toast不同的地方是SnackBar允许用户向右滑动消除它,同时,也允许在SnackB ...
- angularjs 2.0 快速开始
前言 angularjs2.0 如果发布,公司的项目会基于2.0开发,在1.0的时候就踩了好多坑,趁这2.0还没正式发布,赶紧踩下坑. 这篇文章是参考angularjs2.0 官方文档写的,开发环境需 ...
- Android笔记——eclipse快捷键
查看快捷键定义的地方 Window->Preferences->General->Keys. 编辑相关快捷键 1. [ALT+/] 自动提示方法 此快捷键为用户编辑的好帮手,能为用户 ...
- Unix及类Unix系统文本编辑器的介绍
概述 Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性.VIM是纯粹的自由软件. Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Em ...
- Sql Server系列:日期和时间函数
1. 获取系统当前日期函数GETDATE() GETDATE()函数用于返回当前数据库系统的日期和时间,返回值的类型为datetime. SELECT GETDATE() 2. 返回UTC日期的函数G ...
- 跟我学Angular2(1-初体验)
0.导言 Angular1作为最流行的前端MV*框架,给前端开发带来了极大的便利性.但是,仍然有许多不好的地方已经很难再改变了.Angular团队根据WEB发展的趋势和Angular1中积累的经验来开 ...