多种方式创建和常用属性说明

package com.ydsc3p0;

import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;

import javax.sql.DataSource;

import com.mchange.v2.c3p0.DataSources;

/**
 * 另一种创创建链接池
 * @author yu
 *
 */
public class DbUtils2 {

	public static void main(String[] args) {
		//简单的实现方式
		simple();
		//配置属性
		SimpleAttr();
	}
	/**
	 * 简单的实现方式
	 */
	private static void simple(){
		try {
			DataSource ds_unpooled = DataSources.unpooledDataSource("jdbc:mysql://localhost:3306/day05?characterEncoding=UTF-8", 
			        "root", 
			        "1234");
			System.out.println(ds_unpooled.getConnection());
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
	private static void SimpleAttr()
	{
		try {
			DataSource ds_unpooled = DataSources.unpooledDataSource("jdbc:mysql://localhost:3306/day05?characterEncoding=UTF-8", 
			        "root", 
			        "1234");

			//带有属性的创建方式
			Map overrides = new HashMap();
			overrides.put("maxStatements", "200");         //Stringified property values work
			overrides.put("maxPoolSize", new Integer(50)); //"boxed primitives" also work
			DataSource unpooled = DataSources.pooledDataSource(ds_unpooled,overrides);
			//创建自定义的名称
			//DataSource unpooled = DataSources.pooledDataSource(ds_unpooled,"myPool",overrides);
			System.out.println(ds_unpooled.getConnection());
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
}

常用配置说明

package com.ydsc3p0;

import java.beans.PropertyVetoException;
import java.sql.SQLException;

import com.mchange.v2.c3p0.ComboPooledDataSource;

/**
 * C3P0的工具类 第一个简单的C3P0类 是否能得到链接
 * 
 * @author yu
 */
public class DbUtil {

	public static void main(String[] args) {
		ComboPooledDataSource cpds=getDs();
		//设置预处理的数、两者都默认是0
		cpds.setMaxStatements(100);
		//cpds.setMaxStatementsPerConnection(100);
		//设置最小链接数
		cpds.setMinPoolSize(5);
		//当连接池中的连接耗尽的时候c3p0一次同时获取的连接数
		cpds.setAcquireIncrement(3);
		//设置最大链接数
		cpds.setMaxPoolSize(20);
		//得到链接池的名称
		String poolName=cpds.getDataSourceName();
		System.out.println(poolName);
		//关闭
		cpds.close();
	}

	public static ComboPooledDataSource getDs() {
		// 创建链接池
		ComboPooledDataSource cpds = new ComboPooledDataSource();
		//创建自己链接池名称
		//ComboPooledDataSource cpds = new ComboPooledDataSource("myPool");
		try {
			// 设置驱动
			cpds.setDriverClass("com.mysql.jdbc.Driver");
			// 设置链接地址
			cpds.setJdbcUrl("jdbc:mysql://localhost:3306/day05?characterEncoding=UTF-8");
			// 设置用户名
			cpds.setUser("root");
			// 设置密码
			cpds.setPassword("1234");
		} catch (PropertyVetoException e) {
			e.printStackTrace();
		} 
		return cpds;
	}
}

关闭

DataSources.destroy( ds_pooled );
时间: 2025-02-01 12:11:43

多种方式创建和常用属性说明的相关文章

DOM访问HTML元素的方式,DOM访问表单控件的常用属性和方法,DOM访问列表框、下拉菜单的常用属性,DOM访问表格子元素的常用属性和方法,DOM对HTML元素的增删改操作

DOM访问HTML元素的方式 为了动态地修改HTML元素,须先访问HTML元素.DOM主要提供了两种方式来访问HTML元素: 根据ID访问HTML元素:通过document对象调用getElementById()方法来查找具有唯一id属性值的元素. 利用节点关系访问HTML元素.常用的属性和方法如下: parentNode 返回当前节点的父节点 previousSibling 返回当前节点的前一个兄弟节点 nextSibling 返回当前节点的后一个兄弟节点 childNodes 返回当前节点的

图形对象的创建(常用图形对象的创建方法及特殊属性)

1.图形窗口对象 MATLAB的一切图形图像的输出都是在图形窗口中完成的. 一.创建 建立图形窗口对象使用figure函数,其调用格式为:句柄变量=figure(属性名1,属性值1,属性名2,属性值2,...) MATLAB通过对属性一的操作来改变图形窗口的形式.也可以使用figure函数按MATLAB默认的属性值建立图形窗口,格式为:figure  或  句柄变量 =figure MATLAB通过figure函数建立窗口之后,还可以调用figure函数来显示该窗口,并将其设定为当前窗口,调用格

使用docker创建静态网站应用-多种方式

原文:使用docker创建静态网站应用-多种方式 能承载静态网站的服务器有很多,本文使用,nginx.apache.tomcat服务器演示docker静态网站应用设置 一,创建docker文件, 不同服务器的docker文件不一样,下面分别创建nginx.apache.tomcat三个服务器的docker文件,其实主要就是区别于FROM标签于项目文件目录 目录结构褥子: 1,nginx 的 docker文件 FROM nginx COPY ./www /usr/share/nginx/html/

Spring学习总结(一)——Spring实现IoC的多种方式

控制反转IoC(Inversion of Control),是一种设计思想,DI(依赖注入)是实现IoC的一种方法,也有人认为DI只是IoC的另一种说法.没有IoC的程序中我们使用面向对象编程对象的创建与对象间的依赖关系完全硬编码在程序中,对象的创建由程序自己控制,控制反转后将对象的创建转移给第三方,个人认为所谓控制反转就是:获得依赖对象的方式反转了. IoC是Spring框架的核心内容,使用多种方式完美的实现了IoC,可以使用XML配置,也可以使用注解,新版本的Spring也可以零配置实现Io

Android进阶——构建UI布局的多种方式总结

引言 作为Android App,给人第一印象的就是用户界面(UI),简洁友好的UI,自然会给用户优秀的体验,自然很容易就得到用户的认可和赞许,这样App才变得真正的有价值.所以作为开发App的第一步,UI尤为重要,构建UI有很多种方式:xml静态布局.java动态代码.HTML构建(借助WebView)和第三方开源框架等. 一.构成UI的基本元素--View和ViewGroup概述 在Android中绝大部分的UI组件都是存放在android.widget包及其子包.android.view包

Android入门——构建UI布局的多种方式

引言 作为Android App,给人第一印象的就是用户界面(UI),简洁友好的UI,自然会给用户优秀的体验,自然很容易就得到用户的认可和赞许,这样App才变得真正的有价值.所以作为开发App的第一步,UI尤为重要,构建UI有很多种方式:xml静态布局.java动态代码.HTML构建(借助WebView)和第三方开源框架等. 一.构成UI的基本元素--View和ViewGroup概述 在Android中绝大部分的UI组件都是存放在android.widget包及其子包.android.view包

从注册流程 分析如何安全退出多个Activity 多种方式(附DEMO)

前言 由于一个同学问到我如何按照一个流程走好之后回到首页,我以前看到过4个解决方案,后来发现有做个记录和总结的必要,就写了这篇博文.(之前看小强也写过一篇,这里通过自身的分析完整的总结一下以下6种方案,并加上一个DEMO便于大家了解大体流程) 在android的用户交互中,按钮触发的意图(Intent)跳转会为你重新打开新的一个界面活动(Activity),对于之前的界面根据需求进行摧毁(Finish())或则保留. 如果一个交互流程中,是从A开始,按照A - B - C - D - A这样的顺

0821基础控件(UIButton常用属性)

一.可以通过代码的方式创建UIButton 1.通用实例化对象方法: UIButton *button = [[UIButton alloc] initWithFrame:rect]; 2.快速实例化对象方法: UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 提示: 在OC开发中,实例化任何类型的非自定义对象,都请首先尝试一下是否存在快速定义方法.如果存在快速定义方法,就尽量不要使用init之类的方法实例

Delphi 常用属性说明(超长)

Delphi组件的常用事件Onclick——当单击时触发这个事件中的代码Onchange——当改变该组件内容时触发其中的代码Oncreate——当创建时触发这个事件中的代码Onclose——当关闭的时候触发其中的代码OnKeyDown——当按下键盘上的键时触发该处代码OnKeyUp——当松开键盘上的键时触发该处代码OnKeyPress——当有键盘动作的时候触发该处代码OnMouseUp——当松开鼠标时触发其中代码OnMouseDown——当按下鼠标时触发其中代码OnMouseMove——移动鼠标