- 浏览: 120974 次
- 性别:
- 来自: 北京
最新评论
-
NewTamato:
你的这个写的全都是代码,不知道对于flex和spring整合的 ...
Flex+BlazeDS+Spring的一个项目笔记(2) -
agurick:
laowood 写道在不写的一般情况下都是auto吧?自动变量 ...
C中的寄存器变量和引用变量 -
laowood:
agurick 写道补充一下,auto已经过时,已经不再使用。 ...
C中的寄存器变量和引用变量 -
agurick:
补充一下,auto已经过时,已经不再使用。static 变量就 ...
C中的寄存器变量和引用变量 -
ming:
oooooooo
domino如何在数据库中存储信息
/**
*Source File Name: ConnectionPool.java
*
*连接池类
*
*经过测式:可以作为(池连)连接数据库之用
*
*
*登陆MySQL时;mysql -uroot -p --default-character-set=gbk;
*
*/
package utilcom;
import java.sql.*;
import java.util.Date;
import java.util.Vector;
public class ConnectionPool {
private String jdbcDriver;
private String host;
private String tableName;
private String userName;
private String password;
private static int maxConnections = 5;
private static int minConnections =1;
private Vector conns;
//计录连接数
private int connections;
public ConnectionPool(String driver, String host, String table,
String user, String pw) {
jdbcDriver = "com.mysql.jdbc.Driver";
this.host = "localhost";
tableName = null;
userName = null;
password = null;
connections = 0;
if (driver != null)
jdbcDriver = driver;
if (host != null)
this.host = host;
if (table != null)
tableName = table;
if (user != null)
userName = user;
if (pw != null)
password = pw;
conns = new Vector();
try {
init();
} catch (SQLException e) {
e.printStackTrace();
}
}
public void setConnectionAmounts(int min, int max) {
if (min > -1)
minConnections = min;
if (max > min)
maxConnections = max;
try {
closeAll();
init();
} catch (SQLException e) {
e.printStackTrace();
}
}
public Connection openConnection() {
try {
return get(0);
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
public void closeConnection(Connection conn) {
ret(conn);
}
public int getConnectionAmount() {
return getConnAmount();
}
/**
*
* @throws SQLException
*/
protected void init() throws SQLException {
connections = minConnections;
try {
//加载数据库驱动
Class.forName(jdbcDriver).newInstance();
} catch (InstantiationException e) {
e.printStackTrace();
throw new SQLException(e.getMessage());
} catch (IllegalAccessException e) {
e.printStackTrace();
throw new SQLException(e.getMessage());
} catch (ClassNotFoundException e) {
e.printStackTrace();
throw new SQLException(e.getMessage());
}
for (int i = 0; i < minConnections; i++){
conns.add(i, newConnection());
}
}
private void closeAll() throws SQLException {
for (int i = 0; i < conns.size(); i++) {
Connection conn = (Connection) conns.get(i);
conn.close();
}
}
private Connection get(int step) throws SQLException {
//conns.size() > 0 ==true 说明向量中有连接
if (conns.size() > 0) {
Connection conn = (Connection) conns.remove(0);
if (conn == null || conn.isClosed())
conn = newConnection();
return conn;
}
if (step > 50)
return null;
//如果在用的连接数大于等于maxConnections,等待后递归,
//反之新建连接connections++
if (connections >= maxConnections) {
try {
Thread.sleep(100L);
} catch (InterruptedException interruptedexception) {
}
return get(step++);
} else {
connections++;
return newConnection();
}
}
private void ret(Connection conn) {
try {
if (conn == null)
conn = newConnection();
conns.add(conn);
} catch (SQLException e) {
connections--;
}
}
private Connection newConnection() throws SQLException {
System.out.println("Create connection to DB--");
return DriverManager.getConnection("jdbc:mysql://" + host + "/"
+ tableName + "?user=" + userName + "&password=" + password);
}
public int getConnAmount() {
return connections;
}
protected void finalize() {
try {
closeAll();
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* 测式用主涵数
*/
public static void main(String[] arge) {
long time=new Date().getTime();
// PoolMan pm = new PoolMan();
ConnectionPool cp=new ConnectionPool("com.mysql.jdbc.Driver","localhost:3306","test","root","");
try {
// for(int i=0;i<5000;i++){
Vector v=new Vector(100,10);
Connection cn = cp.openConnection();
Statement stmt = cn.createStatement();
//设置字符编码格式为:GBK
stmt.execute("set names gbk");
ResultSet rs = stmt.executeQuery("select * from test");
while (rs.next()) {
// System.out.println(rs.getString("msisdn") + rs.getString("nickname"));
System.out.println(rs.getString("name"));
v.add(rs.getString("name"));
}
//cp.closeConnection(cn);
rs.close();
for(int i=0;i<v.size();i++){
String temp =(String)v.get(i);
// temp=temp.replaceAll("\n","");
//将记录中的一个“\”替换成“\\”插入数据库中后显示应然是“\”
temp=temp.replaceAll("\\\\","\\\\\\\\");
String sql="insert into test (name)values('"+temp+"')";
System.out.println(sql);
// stmt.executeUpdate(sql);
}
// System.out.println(i);
// }
System.out.println(new Date().getTime()-time);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
System.out.println("close connection---");
cp.closeAll();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
*Source File Name: ConnectionPool.java
*
*连接池类
*
*经过测式:可以作为(池连)连接数据库之用
*
*
*登陆MySQL时;mysql -uroot -p --default-character-set=gbk;
*
*/
package utilcom;
import java.sql.*;
import java.util.Date;
import java.util.Vector;
public class ConnectionPool {
private String jdbcDriver;
private String host;
private String tableName;
private String userName;
private String password;
private static int maxConnections = 5;
private static int minConnections =1;
private Vector conns;
//计录连接数
private int connections;
public ConnectionPool(String driver, String host, String table,
String user, String pw) {
jdbcDriver = "com.mysql.jdbc.Driver";
this.host = "localhost";
tableName = null;
userName = null;
password = null;
connections = 0;
if (driver != null)
jdbcDriver = driver;
if (host != null)
this.host = host;
if (table != null)
tableName = table;
if (user != null)
userName = user;
if (pw != null)
password = pw;
conns = new Vector();
try {
init();
} catch (SQLException e) {
e.printStackTrace();
}
}
public void setConnectionAmounts(int min, int max) {
if (min > -1)
minConnections = min;
if (max > min)
maxConnections = max;
try {
closeAll();
init();
} catch (SQLException e) {
e.printStackTrace();
}
}
public Connection openConnection() {
try {
return get(0);
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
public void closeConnection(Connection conn) {
ret(conn);
}
public int getConnectionAmount() {
return getConnAmount();
}
/**
*
* @throws SQLException
*/
protected void init() throws SQLException {
connections = minConnections;
try {
//加载数据库驱动
Class.forName(jdbcDriver).newInstance();
} catch (InstantiationException e) {
e.printStackTrace();
throw new SQLException(e.getMessage());
} catch (IllegalAccessException e) {
e.printStackTrace();
throw new SQLException(e.getMessage());
} catch (ClassNotFoundException e) {
e.printStackTrace();
throw new SQLException(e.getMessage());
}
for (int i = 0; i < minConnections; i++){
conns.add(i, newConnection());
}
}
private void closeAll() throws SQLException {
for (int i = 0; i < conns.size(); i++) {
Connection conn = (Connection) conns.get(i);
conn.close();
}
}
private Connection get(int step) throws SQLException {
//conns.size() > 0 ==true 说明向量中有连接
if (conns.size() > 0) {
Connection conn = (Connection) conns.remove(0);
if (conn == null || conn.isClosed())
conn = newConnection();
return conn;
}
if (step > 50)
return null;
//如果在用的连接数大于等于maxConnections,等待后递归,
//反之新建连接connections++
if (connections >= maxConnections) {
try {
Thread.sleep(100L);
} catch (InterruptedException interruptedexception) {
}
return get(step++);
} else {
connections++;
return newConnection();
}
}
private void ret(Connection conn) {
try {
if (conn == null)
conn = newConnection();
conns.add(conn);
} catch (SQLException e) {
connections--;
}
}
private Connection newConnection() throws SQLException {
System.out.println("Create connection to DB--");
return DriverManager.getConnection("jdbc:mysql://" + host + "/"
+ tableName + "?user=" + userName + "&password=" + password);
}
public int getConnAmount() {
return connections;
}
protected void finalize() {
try {
closeAll();
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* 测式用主涵数
*/
public static void main(String[] arge) {
long time=new Date().getTime();
// PoolMan pm = new PoolMan();
ConnectionPool cp=new ConnectionPool("com.mysql.jdbc.Driver","localhost:3306","test","root","");
try {
// for(int i=0;i<5000;i++){
Vector v=new Vector(100,10);
Connection cn = cp.openConnection();
Statement stmt = cn.createStatement();
//设置字符编码格式为:GBK
stmt.execute("set names gbk");
ResultSet rs = stmt.executeQuery("select * from test");
while (rs.next()) {
// System.out.println(rs.getString("msisdn") + rs.getString("nickname"));
System.out.println(rs.getString("name"));
v.add(rs.getString("name"));
}
//cp.closeConnection(cn);
rs.close();
for(int i=0;i<v.size();i++){
String temp =(String)v.get(i);
// temp=temp.replaceAll("\n","");
//将记录中的一个“\”替换成“\\”插入数据库中后显示应然是“\”
temp=temp.replaceAll("\\\\","\\\\\\\\");
String sql="insert into test (name)values('"+temp+"')";
System.out.println(sql);
// stmt.executeUpdate(sql);
}
// System.out.println(i);
// }
System.out.println(new Date().getTime()-time);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
System.out.println("close connection---");
cp.closeAll();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
发表评论
-
redhat 安装 oracle
2013-01-23 12:02 1088装完RHEL5之后遇到的 第一个问题 通过SSH ... -
fedora 14上安装 Oracle 11g
2011-03-31 12:48 4130本文介绍了在Fedora 14 64-bit上安装Or ... -
Flex+BlazeDS+Spring的一个项目笔记(2)
2009-07-30 08:26 3155applicationContext.xml 配置如下 ... -
Flex+BlazeDS+Spring的一个项目笔记(1)
2009-07-29 23:43 1689把最近在做的一个项目的研究成果贴出来做个笔记。项目是要做一个本 ... -
SQL能完成的逻辑都在SQL中
2009-07-21 19:16 1063decode, case的用法 select t.star ... -
Promises don't come easy
2009-05-11 13:48 1170I should have known all along ... -
oracle 9*9乘法口诀表
2009-04-14 18:19 2025select replace(reverse(sys_conn ... -
oracle笔记1
2009-03-31 22:52 1497conn / as sysdba -切换到sys用户 sele ... -
C中的寄存器变量和引用变量
2009-03-25 19:11 5655总共有auto,static,register,extern。 ... -
shell 初步
2009-03-15 18:24 3622ps -ef | grep redis du -sh 查看文件 ... -
File ToBase64String
2009-02-03 15:00 1262public static string Serializ ... -
David Cook - Always Be My Baby
2008-11-05 18:28 1359Studio Version Song ... -
企业应用中C\S是怎样的架构?
2008-10-31 10:19 4064我们公司开发程序一般是 C# Winform 做客户端,EJB ... -
C#画图
2008-10-24 10:06 2399翻出以前刚到公司自己做的这个,以前查资料作了半天,发现 现在 ... -
Can’t find P/Invoke DLL sqlcemeNN.dll
2008-09-01 11:30 2429Can’t find P/Invoke DLL sqlceme ... -
JavaScript replace() 方法
2008-08-27 13:43 2303定义和用法 replace() 方法用于在字符串中 ... -
C# 写Excel 代码
2008-08-20 12:48 10930C# 中使用 Excel using System;usin ... -
开发基于Domino/Notes的动态Web网站
2007-09-27 08:08 1511开发基于Domino/Notes的动态Web网站 用户的需求 ... -
[精华]Linux记事本最常用的命令,迅速掌握Linux
2008-06-28 09:51 4405自己整理的笔记,,适合linux初学者,老手就不要看了,呵呵 ... -
Java移动文件
2008-06-14 19:50 34549一: //文件原地址 File oldFile = ne ...
相关推荐
### JAVA 使用数据库连接池连接Oracle数据库全代码解析 #### 一、概述 本文将详细介绍如何在Java项目中使用Apache DBCP(Database Connection Pool)来连接Oracle数据库,并提供完整的示例代码。通过这种方式,我们...
本文将深入探讨如何使用Java代码来实现一个简单的数据库连接池,并解释其核心概念和工作原理。 连接池的基本思想是维护一组预初始化的数据库连接,当应用程序需要时,可以从池中获取一个连接,使用完毕后,再归还回...
在使用C3P0时,我们需要在配置文件中设置相关参数,如初始连接数、最大连接数等,并在代码中加载这些配置,创建PoolConfig对象,然后使用ComboPooledDataSource类创建连接池实例。 2. **HikariCP** 是目前性能最优...
2. **调用连接池**:在JSP中,可以使用Java代码片段(`<% %>`)或自定义标签来调用Java后台类(如`ConnectionPool`)获取数据库连接。 3. **执行SQL查询**:使用获取的连接执行SQL语句,例如检查用户名和密码是否...
下面我们将详细探讨Linux内存池的原理、实现方式以及代码实例。 一、内存池原理 内存池的基本思想是将大块内存分割成固定大小的小块,这些小块被称为内存块或者对象。当需要内存时,从内存池中分配一个或多个内存...
本示例代码展示了一个简单的数据库连接池实现,名为`DBConnectionManager`,用于管理和分配数据库连接。下面将详细解释相关知识点: 1. **单例模式**:在类`DBConnectionManager`中,可以看到`instance`变量被声明...
本示例包含的代码文件`ConnectionPool.cs`、`TestConnectionPool.cs`和`PooledConnection.cs`提供了自定义数据库连接池的实现。 首先,我们来看`ConnectionPool.cs`。这个文件通常会包含一个类,比如`...
数据库连接池是Java开发中非常重要的一个概念,它在处理大量并发访问时能显著提高数据库操作的性能。本文将深入探讨数据库连接池的工作原理、重要性以及如何在Java中实现和使用连接池。 首先,我们需要理解数据库...
养鱼池开发代码主要涉及到的是将信息技术应用于农业领域,特别是水产养殖业的自动化与智能化管理。这个项目可能包括硬件设计、软件编程以及数据监测等多个环节,旨在提高养鱼池的运营效率,降低人工成本,同时确保...
### 连接池单例代码解析 #### 一、引言 在软件开发尤其是Web应用开发过程中,数据库连接是至关重要的资源之一。由于创建数据库连接消耗较多系统资源且效率较低,因此合理管理和重用数据库连接变得尤为重要。连接池...
"sw--sql200连接池配置代码"可能指的是特定的软件或框架中关于SQL Server 2000连接池的配置代码,这部分内容可能包含了更复杂的逻辑,如动态调整连接池大小、监控连接池状态等。如果"sql200连接池配置代码"这个...
Java Web数据库连接池代码详解 Java Web开发中,数据库连接池是非常重要的一部分。连接池可以减少数据库连接的频率,提高数据库访问的效率,并且可以减少系统的资源消耗。在Java Web开发中,我们通常使用连接池来...
springboot2配置Lettuce连接池完整代码,采用common2-pool连接池,Lettuce为redis高级客户端,由于阅读官网文档太简单,无法完成配置,所有本示例是通过阅读源码后编写的
这六种内存池创建代码分别体现了不同的设计思想和优化策略,开发者可以根据实际应用的需求和性能瓶颈选择合适的内存池实现。理解这些算法有助于编写更高效、更稳定的内存管理程序。在实践中,还需要考虑内存碎片、...
jdbc连接池代码详解
首先,让我们了解Java直连数据库的基本步骤。这通常涉及以下关键知识点: 1. **JDBC(Java Database Connectivity)**: JDBC是Java平台的标准API,允许Java程序与各种数据库进行通信。它提供了一组接口和类,使得...
Visual C++源代码 146 如何设置数据库连接串连接池信息Visual C++源代码 146 如何设置数据库连接串连接池信息Visual C++源代码 146 如何设置数据库连接串连接池信息Visual C++源代码 146 如何设置数据库连接串连接池...
基于JAVA语言的一种有效的数据库连接池的实现代码。