Heim Datenbank MySQL-Tutorial c3p0开源数据库连接池(DataSource)

c3p0开源数据库连接池(DataSource)

Jun 07, 2016 pm 04:01 PM
datasource 开源 数据库 Jetzt 连接

现在很多WEB服务器(Weblogic, WebSphere, Tomcat)都提供了DataSoruce的实现,即连接池的实现。通常我们把DataSource的实现,按其英文含义称之为数据源,数据源中都包含了数据库连接池的实现。 也有一些开源组织提供了数据源的独立实现: ①DBCP 数据库连接池

现在很多WEB服务器(Weblogic, WebSphere, Tomcat)都提供了DataSoruce的实现,即连接池的实现。通常我们把DataSource的实现,按其英文含义称之为数据源,数据源中都包含了数据库连接池的实现。
也有一些开源组织提供了数据源的独立实现:
①DBCP 数据库连接池
②C3P0 数据库连接池(使用最简单方便)
③Apache Tomcat内置的连接池(apache dbcp)

实际应用时不需要编写连接数据库代码,直接从数据源获得数据库的连接。程序员编程时也应尽量使用这些数据源的实现,以提升程序的数据库访问性能。

使用时,需要新建java工程,在工程中建立“lib”目录,其中添加c3p0-0.9.1.2.jar和mysql-connector-java-5.0.8-bin.jar(mysql驱动)包,并add to build path。

第一种方法:不使用xml配置文件。

/**
 * 演示c3p0的使用方法
 * @project_name Day11   
 * @class_name C3P0Demo   
 * @author Dovinya
 * @data 2014-8-27 下午07:57:42   
 * @version 1
 * @notes
 */
public class C3P0Demo {
	
	@Test
	public void operateDatabase() {
		Connection conn =null;
		PreparedStatement ps = null;
		ResultSet rs = null;
		try {
//			Class.forName("com.mysql.jdbc.Driver");
//			conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/day11", "root", "123");
//			ps = conn.prepareStatement("select * from account");
			ComboPooledDataSource dataSource = new ComboPooledDataSource();
			
			
			dataSource.setDriverClass("com.mysql.jdbc.Driver");
			dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/day11");
			dataSource.setUser("root");
			dataSource.setPassword("123");
			
			
			conn = dataSource.getConnection();
			ps = conn.prepareStatement("select * from account");
			rs = ps.executeQuery();
			
			while(rs.next()){
				String name = rs.getString("name");
				System.out.println(name);
			}
			
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			if(rs!=null){
				try {
					rs.close();
				} catch (SQLException e) {
					
					e.printStackTrace();
				}finally{
					rs=null;
				}
			}
			
			if(ps!=null){
				try {
					ps.close();
				} catch (SQLException e) {
					
					e.printStackTrace();
				}finally{
					ps=null;
				}
			}
			
			if(conn!=null){
				try {
					conn.close();
				} catch (SQLException e) {
					
					e.printStackTrace();
				}finally{
					conn=null;
				}
			}			
		
		}
	}
	
}
Nach dem Login kopieren
第二种方法:使用xml配置文件,这种方法更常见和普遍。

先新建xml文件,命名为c3p0-config.xml,在其中添加如下代码:

<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
	<default-config>
		<property name="driverClass">com.mysql.jdbc.Driver</property>
		<property name="jdbcUrl">jdbc:mysql:///day11</property>
		<property name="user">root</property>
		<property name="password">123</property>

		<property name="acquireIncrement">3</property>  <!--当连接池中已经没有连接时,连接池自动获取连接时一次获取的连接个数-->
		<property name="initialPoolSize">10</property>  <!--初始化连接池时,获取的连接个数-->
		<property name="minPoolSize">2</property>       <!--连接池应该保有的最小连接的数量--> 
		<property name="maxPoolSize">10</property>      <!--连接池中可以保有的最大连接数量-->
	</default-config>
</c3p0-config>
Nach dem Login kopieren
然后,新建java文件,在其中添加如下代码:
import com.mchange.v2.c3p0.ComboPooledDataSource;
/**
 * 演示c3p0的使用方法
 * @project_name Day11   
 * @class_name C3P0Demo   
 * @author Dovinya
 * @data 2014-8-27 下午07:57:42   
 * @version 1
 * @notes
 */
public class C3P0Demo {
	
	@Test
	public void operateDatabase() {
		Connection conn =null;
		PreparedStatement ps = null;
		ResultSet rs = null;
		try {

			ComboPooledDataSource dataSource = new ComboPooledDataSource();
			
			conn = dataSource.getConnection();
			ps = conn.prepareStatement("select * from account");
			rs = ps.executeQuery();
			
			while(rs.next()){
				String name = rs.getString("name");
				System.out.println(name);
			}
			
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			if(rs!=null){
				try {
					rs.close();
				} catch (SQLException e) {
					
					e.printStackTrace();
				}finally{
					rs=null;
				}
			}
			
			if(ps!=null){
				try {
					ps.close();
				} catch (SQLException e) {
					
					e.printStackTrace();
				}finally{
					ps=null;
				}
			}
			
			if(conn!=null){
				try {
					conn.close();
				} catch (SQLException e) {
					
					e.printStackTrace();
				}finally{
					conn=null;
				}
			}			
		
		}
	}
	
}
Nach dem Login kopieren
开发时常用。
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Empfohlen: Ausgezeichnetes JS-Open-Source-Projekt zur Gesichtserkennung und -erkennung Empfohlen: Ausgezeichnetes JS-Open-Source-Projekt zur Gesichtserkennung und -erkennung Apr 03, 2024 am 11:55 AM

Die Technologie zur Gesichtserkennung und -erkennung ist bereits eine relativ ausgereifte und weit verbreitete Technologie. Derzeit ist JS die am weitesten verbreitete Internetanwendungssprache. Die Implementierung der Gesichtserkennung und -erkennung im Web-Frontend hat im Vergleich zur Back-End-Gesichtserkennung Vor- und Nachteile. Zu den Vorteilen gehören die Reduzierung der Netzwerkinteraktion und die Echtzeiterkennung, was die Wartezeit des Benutzers erheblich verkürzt und das Benutzererlebnis verbessert. Die Nachteile sind: Es ist durch die Größe des Modells begrenzt und auch die Genauigkeit ist begrenzt. Wie implementiert man mit js die Gesichtserkennung im Web? Um die Gesichtserkennung im Web zu implementieren, müssen Sie mit verwandten Programmiersprachen und -technologien wie JavaScript, HTML, CSS, WebRTC usw. vertraut sein. Gleichzeitig müssen Sie auch relevante Technologien für Computer Vision und künstliche Intelligenz beherrschen. Dies ist aufgrund des Designs der Webseite erwähnenswert

Das multimodale Dokumentenverständnis-Großmodell Alibaba 7B gewinnt neue SOTA Das multimodale Dokumentenverständnis-Großmodell Alibaba 7B gewinnt neue SOTA Apr 02, 2024 am 11:31 AM

Neues SOTA für multimodale Dokumentverständnisfunktionen! Das Alibaba mPLUG-Team hat die neueste Open-Source-Arbeit mPLUG-DocOwl1.5 veröffentlicht, die eine Reihe von Lösungen zur Bewältigung der vier großen Herausforderungen der hochauflösenden Bildtexterkennung, des allgemeinen Verständnisses der Dokumentstruktur, der Befolgung von Anweisungen und der Einführung externen Wissens vorschlägt. Schauen wir uns ohne weitere Umschweife zunächst die Auswirkungen an. Ein-Klick-Erkennung und Konvertierung von Diagrammen mit komplexen Strukturen in das Markdown-Format: Es stehen Diagramme verschiedener Stile zur Verfügung: Auch eine detailliertere Texterkennung und -positionierung ist einfach zu handhaben: Auch ausführliche Erläuterungen zum Dokumentverständnis können gegeben werden: Sie wissen schon, „Document Understanding“. " ist derzeit ein wichtiges Szenario für die Implementierung großer Sprachmodelle. Es gibt viele Produkte auf dem Markt, die das Lesen von Dokumenten unterstützen. Einige von ihnen verwenden hauptsächlich OCR-Systeme zur Texterkennung und arbeiten mit LLM zur Textverarbeitung zusammen.

Gerade erschienen! Ein Open-Source-Modell zum Generieren von Bildern im Anime-Stil mit einem Klick Gerade erschienen! Ein Open-Source-Modell zum Generieren von Bildern im Anime-Stil mit einem Klick Apr 08, 2024 pm 06:01 PM

Lassen Sie mich Ihnen das neueste AIGC-Open-Source-Projekt vorstellen – AnimagineXL3.1. Dieses Projekt ist die neueste Version des Text-zu-Bild-Modells mit Anime-Thema und zielt darauf ab, Benutzern ein optimiertes und leistungsfähigeres Erlebnis bei der Generierung von Anime-Bildern zu bieten. Bei AnimagineXL3.1 konzentrierte sich das Entwicklungsteam auf die Optimierung mehrerer Schlüsselaspekte, um sicherzustellen, dass das Modell neue Höhen in Bezug auf Leistung und Funktionalität erreicht. Zunächst erweiterten sie die Trainingsdaten, um nicht nur Spielcharakterdaten aus früheren Versionen, sondern auch Daten aus vielen anderen bekannten Anime-Serien in das Trainingsset aufzunehmen. Dieser Schritt erweitert die Wissensbasis des Modells und ermöglicht ihm ein umfassenderes Verständnis verschiedener Anime-Stile und Charaktere. AnimagineXL3.1 führt eine neue Reihe spezieller Tags und Ästhetiken ein

Mit einer einzelnen Karte läuft Llama 70B schneller als mit zwei Karten, Microsoft hat gerade FP6 in A100 integriert | Mit einer einzelnen Karte läuft Llama 70B schneller als mit zwei Karten, Microsoft hat gerade FP6 in A100 integriert | Apr 29, 2024 pm 04:55 PM

FP8 und die geringere Gleitkomma-Quantifizierungsgenauigkeit sind nicht länger das „Patent“ von H100! Lao Huang wollte, dass jeder INT8/INT4 nutzt, und das Microsoft DeepSpeed-Team begann, FP6 auf A100 ohne offizielle Unterstützung von NVIDIA auszuführen. Testergebnisse zeigen, dass die FP6-Quantisierung der neuen Methode TC-FPx auf A100 nahe an INT4 liegt oder gelegentlich schneller als diese ist und eine höhere Genauigkeit aufweist als letztere. Darüber hinaus gibt es eine durchgängige Unterstützung großer Modelle, die als Open-Source-Lösung bereitgestellt und in Deep-Learning-Inferenz-Frameworks wie DeepSpeed ​​integriert wurde. Dieses Ergebnis wirkt sich auch unmittelbar auf die Beschleunigung großer Modelle aus – in diesem Rahmen ist der Durchsatz bei Verwendung einer einzelnen Karte zum Ausführen von Llama 2,65-mal höher als der von Doppelkarten. eins

Inländische Open-Source-MoE-Indikatoren explodieren: GPT-4-Level-Fähigkeiten, API-Preis beträgt nur ein Prozent Inländische Open-Source-MoE-Indikatoren explodieren: GPT-4-Level-Fähigkeiten, API-Preis beträgt nur ein Prozent May 07, 2024 pm 05:34 PM

Das neueste groß angelegte inländische Open-Source-MoE-Modell erfreute sich gleich nach seinem Debüt großer Beliebtheit. Die Leistung von DeepSeek-V2 erreicht GPT-4-Niveau, es ist jedoch Open Source, kostenlos für die kommerzielle Nutzung und der API-Preis beträgt nur ein Prozent von GPT-4-Turbo. Daher löste es sofort nach seiner Veröffentlichung viele Diskussionen aus. Den veröffentlichten Leistungsindikatoren zufolge übertreffen die umfassenden chinesischen Fähigkeiten von DeepSeekV2 die vieler Open-Source-Modelle. Gleichzeitig befinden sich auch Closed-Source-Modelle wie GPT-4Turbo und Wenkuai 4.0 auf der ersten Stufe. Die umfassenden Englischkenntnisse liegen ebenfalls auf der gleichen ersten Stufe wie LLaMA3-70B und übertreffen Mixtral8x22B, das ebenfalls ein MoE ist. Es zeigt auch gute Leistungen in den Bereichen Wissen, Mathematik, logisches Denken, Programmieren usw. Und unterstützt 128K-Kontext. Stellen Sie sich das vor

Teilen Sie mehrere .NET-Open-Source-KI- und LLM-bezogene Projekt-Frameworks Teilen Sie mehrere .NET-Open-Source-KI- und LLM-bezogene Projekt-Frameworks May 06, 2024 pm 04:43 PM

Die Entwicklung von Technologien der künstlichen Intelligenz (KI) ist heute in vollem Gange und sie haben in verschiedenen Bereichen großes Potenzial und Einfluss gezeigt. Heute wird Dayao Ihnen 4 .NET Open-Source-KI-Modell-LLM-bezogene Projekt-Frameworks vorstellen und hofft, Ihnen einige Referenzen zu geben. https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.mdSemanticKernelSemanticKernel ist ein Open-Source-Softwareentwicklungskit (SDK), das für die Integration großer Sprachmodelle (LLM) wie OpenAI und Azure entwickelt wurde

Wie implementiert Hibernate polymorphe Zuordnung? Wie implementiert Hibernate polymorphe Zuordnung? Apr 17, 2024 pm 12:09 PM

Die polymorphe Hibernate-Zuordnung kann geerbte Klassen der Datenbank zuordnen und bietet die folgenden Zuordnungstypen: Joined-Subclass: Erstellen Sie eine separate Tabelle für die Unterklasse, einschließlich aller Spalten der übergeordneten Klasse. Tabelle pro Klasse: Erstellen Sie eine separate Tabelle für Unterklassen, die nur unterklassenspezifische Spalten enthält. Union-Unterklasse: ähnelt der verbundenen Unterklasse, aber die Tabelle der übergeordneten Klasse vereint alle Spalten der Unterklasse.

Das leistungsstärkste Open-Source-Codemodell aiXcoder-7B der Universität Peking! Konzentrieren Sie sich auf reale Entwicklungsszenarien und sind speziell für die private Bereitstellung in Unternehmen konzipiert Das leistungsstärkste Open-Source-Codemodell aiXcoder-7B der Universität Peking! Konzentrieren Sie sich auf reale Entwicklungsszenarien und sind speziell für die private Bereitstellung in Unternehmen konzipiert Apr 09, 2024 pm 06:10 PM

Den neuesten Entwicklungen im Technologiekreis nach zu urteilen, ist das Konzept der KI-Codegenerierung in letzter Zeit populär geworden. Freunde, haben Sie jedoch das Gefühl, dass Fragen zur KI-Programmierung auffälliger sind, aber wenn es um reale Unternehmensentwicklungsszenarien geht, haben Sie immer das Gefühl, dass dies nicht ausreicht? In diesem Moment ergriff ein zurückhaltender Senior-Spieler aiXcoder Maßnahmen und veröffentlichte einen großen Schritt: Es handelt sich um ein neues Open-Source-Codemodell – aiXcoder-7BBase-Version, ein Codemodell, das speziell für den Einsatz in Entwicklungsszenarien von Unternehmenssoftware geeignet ist. Moment, welchen KI-Programmierstand kann ein großes Codemodell mit „nur“ 7 Milliarden Parametern aufweisen? Werfen wir zunächst einen Blick auf die Leistung in den drei gängigen Bewertungssätzen HumanEval, MBPP und MultiPL-E. Die durchschnittliche Punktzahl übertrifft tatsächlich die von Co, das 34 Milliarden Parameter aufweist.

See all articles