Heim Datenbank MySQL-Tutorial Detaillierte Einführung in den C3P0-Verbindungspool

Detaillierte Einführung in den C3P0-Verbindungspool

Jul 27, 2017 pm 03:48 PM
dbutils jdbc 连接

C3P0-Verbindungspool

Toolklasse zum Erstellen eines C3P0-Verbindungspools
* Standardschnittstelle für Verbindung:
* javax.sql.DataSource-Schnittstelle
* Implementierungsklassenobjekt der Schnittstelle
* ComboPooledDataSource
* ComboPooledDataSource-Objekt am Mitgliedsort erstellen
* Statischen Codeblock verwenden, um 4 Verbindungsinformationen für große Datenmengen für ComboPooledDataSource festzulegen
* Erstellen Sie ein statisches Methode zum Zurückgeben des Verbindungsobjekts
* Erstellen Sie eine statische Methode zum Freigeben von Ressourcen

 1 public class C3P0Utils { 2     //成员位置创建ComboPooledDataSource对象 3     private static ComboPooledDataSource dataSource = new ComboPooledDataSource(); 4      5     //使用静态代码块给ComboPooledDataSource设置4大数据量连接信息 6     static{ 7         try { 8             dataSource.setDriverClass("com.mysql.jdbc.Driver"); 9             dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/mybase4");10             dataSource.setUser("root");11             dataSource.setPassword("root");12         } catch (Exception e) {13             throw new RuntimeException("设置连接信息失败!");14         }15     }16     17     //创建一个静态方法返回Connection对象18     public static Connection getConnection(){19         try {20             return dataSource.getConnection();21         } catch (SQLException e) {22             throw new RuntimeException("获取数据库连接信息失败!");23         }24     }25     26     //定义一个释放资源的方法27         public static void close(ResultSet rs,Statement stat,Connection conn){28             if(rs!=null){29                 try {30                     rs.close();31                 } catch (SQLException e) {32                     e.printStackTrace();33                 }34             }35             if(stat !=null){36                 try {37                     stat.close();38                 } catch (SQLException e) {39                     e.printStackTrace();40                 }41             }42             if(conn != null){43                 try {44                     conn.close();45                 } catch (SQLException e) {46                     e.printStackTrace();47                 }48             }49         }50 }
Nach dem Login kopieren

Erstellen Sie eine C3P0-Toolklasse zum Lesen von XML-Konfigurationsdateien

 1 public class C3P0UtilsReadXML { 2     //成员位置创建ComboPooledDataSource对象 3     private static ComboPooledDataSource dataSource = new ComboPooledDataSource(); 4      5     //使用静态代码块给ComboPooledDataSource设置4大数据量连接信息 6     /*static{ 7         try { 8             dataSource.setDriverClass("com.mysql.jdbc.Driver"); 9             dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/mybase4");10             dataSource.setUser("root");11             dataSource.setPassword("root");12         } catch (Exception e) {13             throw new RuntimeException("设置连接信息失败!");14         }15     }*/16     17     //创建一个返回ComboPooledDataSource的方法18     public static DataSource getDataSource(){19         return dataSource;20     }21     22     //创建一个静态方法返回Connection对象23     public static Connection getConnection(){24         try {25             return dataSource.getConnection();26         } catch (SQLException e) {27             throw new RuntimeException("获取数据库连接信息失败!");28         }29     }30     31     //定义一个释放资源的方法32         public static void close(ResultSet rs,Statement stat,Connection conn){33             if(rs!=null){34                 try {35                     rs.close();36                 } catch (SQLException e) {37                     e.printStackTrace();38                 }39             }40             if(stat !=null){41                 try {42                     stat.close();43                 } catch (SQLException e) {44                     e.printStackTrace();45                 }46             }47             if(conn != null){48                 try {49                     conn.close();50                 } catch (SQLException e) {51                     e.printStackTrace();52                 }53             }54         }55 }
Nach dem Login kopieren

DBCP-Verbindungspool

Toolklasse zum Erstellen eines DBCP-Verbindungspools
* Verbindungsspezifikationsschnittstelle:
* javax.sql.DataSource-Schnittstelle
* Implementierungsklasse des Schnittstellenobjekts
* BasicDataSource
* Überschreiben Sie die getConnection-Methode

 1 public class DBCPUtils { 2     //创建连接池的实现类对象 3     private static BasicDataSource dataSource = new BasicDataSource(); 4      5     //设置连接数据库的4大变量,使用BasicDataSource中的set方法设置 6     static{ 7         //设置注册的驱动信息 8         dataSource.setDriverClassName("com.mysql.jdbc.Driver"); 9         //设置Url10         dataSource.setUrl("jdbc:mysql://localhost:3306/mybase4");11         //设置用户名12         dataSource.setUsername("root");13         //设置密码14         dataSource.setPassword("root");15         //可选信息16         //dataSource.setInitialSize(100);17         //dataSource.setMaxActive(1000);18     }19     20     //创建获取数据库连接对象的方法21     public static Connection getConnection(){22         try {23             return dataSource.getConnection();24         } catch (SQLException e) {25             throw new RuntimeException("获取数据库连接对象失败");26         }27     }28     29     //定义一个释放资源的方法30     public static void  close(ResultSet rs,Statement stat,Connection conn){31         if(rs!=null){32             try {33                 rs.close();34             } catch (SQLException e) {35                 e.printStackTrace();36             }37         }38         if(stat !=null){39             try {40                 stat.close();41             } catch (SQLException e) {42                 e.printStackTrace();43             }44         }45         if(conn != null){46             try {47                 conn.close();48             } catch (SQLException e) {49                 e.printStackTrace();50             }51         }52     }53 }
Nach dem Login kopieren

So lesen Sie die Konfigurationsdatei

 1 /* 2  * 创建DBCP连接池工具类 3  * 使用读取配置文件的方式 4  * DBCP中有一个工厂类BasicDataSourceFactory 5  * 工厂类中有一个静态方法 6  * static DataSource createDataSource(Properties prop) 7  * 此方法返回的就是DataSource接口的实现类对象BasicDataSource 8  * 
 9  * 创建Propertis集合+IO技术读取配置文件10  * 把配置文件传入BasicDataSourceFactory静态方法createDataSource中11  */12 public class DBCPUtilsReadConfig {13     //创建DataSource变量14     private static DataSource dataSource;15     16     static{17         try {18             //创建Propertis集合+IO技术读取配置文件19             //使用类加载器,扫描包下的文件20             InputStream is = DBCPUtilsReadConfig.class.getClassLoader()21                     .getResourceAsStream("dbcpconfig.properties");22             //创建Propertis集合23             Properties prop = new Properties();24             prop.load(is);25             //把配置文件传入BasicDataSourceFactory静态方法createDataSource中26             dataSource = BasicDataSourceFactory.createDataSource(prop);27         } catch (Exception e) {28             throw new RuntimeException("读取配置文件失败");29         }30     }31     32     //创建获取数据库连接对象的方法33     public static Connection getConnection(){34         try {35             return dataSource.getConnection();36         } catch (SQLException e) {37             throw new RuntimeException("获取数据库连接对象失败");38         }39     }40     41     //定义一个释放资源的方法42     public static void  close(ResultSet rs,Statement stat,Connection conn){43         if(rs!=null){44             try {45                 rs.close();46             } catch (SQLException e) {47                 e.printStackTrace();48             }49         }50         if(stat !=null){51             try {52                 stat.close();53             } catch (SQLException e) {54                 e.printStackTrace();55             }56         }57         if(conn != null){58             try {59                 conn.close();60             } catch (SQLException e) {61                 e.printStackTrace();62             }63         }64     }65 }
Nach dem Login kopieren


* Verwenden Sie die DBUtils-Toolklasse zum Hinzufügen, Löschen, Ändern und Überprüfen von Datenbanktabellen
* Funktion der DBUtils-Toolklasse: Vereinfachen Sie die JDBC-Entwicklung (6 Schritte)
*
* DBUtils hat 3 Kernklassen
* 1.QueryRunner: Verwenden Sie die Methoden in QueryRunner, um die Datenbank hinzuzufügen, zu löschen, zu ändern und abzufragen
* 2.DbUtils: Bietet eine große Anzahl von Methoden zum Freigeben von Ressourcen
* 3.ResultSetHandler Schnittstelle: Stellt Methoden zum Verarbeiten von Abfrageergebnissätzen bereit im Verbindungsobjekt
* QueryRunner(DataSource ds)-Konstruktormethode mit DataSource-Datenbankverbindungspool
* Beim Aufrufen von Aktualisierungs- und Abfragemethoden ruft QueryRunner automatisch das Datenbankverbindungsobjekt aus dem DataSource-Implementierungsklassenobjekt ab und kehrt automatisch zurück it after use
* Mitgliedsmethode:
* Mitgliedsmethoden ausführen, die Ergänzungen, Löschungen und Änderungen durchführen
* int update(Connection conn, String sql, Object... params) SQL, das zum Durchführen von Ergänzungen, Löschungen verwendet wird und Änderungen
* int update(String sql, Object... params) SQL, das zum Durchführen von Hinzufügungen, Löschungen und Änderungen verwendet wird
* Parameter:
* Verbindungsverbindung: Datenbankverbindungsobjekt
* String sql: gespleißte SQL-Anweisung, Sie können ? placeholder
* Object... params :?Für die tatsächlichen Parameter des Platzhalters können Sie Object[]
* Return value:
* int: The verwenden Anzahl der ausgeführten gültigen Zeilen
* Mitgliedsmethode zum Ausführen der Abfrage
* rsh, Object... params)
* < T> kann verwendet werden? Platzhalter
* Object... params:? tatsächliche Parameter des Platzhalters, Sie können Object[]
verwenden * ResultSetHandler wird verwendet, um den Ergebnissatz nach der Abfrage zu speichern 9 Implementierungsklassenobjekte
* Rückgabewert:
* T: übergeben Die ResultSetHandler-Implementierungsklassen sind unterschiedlich und die zurückgegebenen Ergebnismengen sind auch unterschiedlich Der entsprechende Typ wird zurückgegeben.






Verwenden Sie neun Abfragemethoden für QueryRunner, um Datenbanktabellen abzufragen


 1 public class Demo01DBUtils { 2     //创建QueryRunner对象,构造方法中传入连接池的实现类对象 3     QueryRunner qr = new QueryRunner(C3P0UtilsReadXML.getDataSource()); 4      5     /* 6      * 使用QueryRunner,对数据库表进行删除数据 7      */ 8     @Test 9     public void delete(){10         try {11             //拼接增加的sql语句12             String sql = "DELETE FROM category WHERE cid=?";13             //调用QueryRunner中update方法执行sql语句14             //创建对象数据,储存?占位符的实际参数15             //Object[] parmars = {"洗",10};16             int row = qr.update(sql, 7);17             System.out.println(row);18         } catch (Exception e) {19             System.out.println(e);20         }21     }22     23     /*24      * 使用QueryRunner,对数据库表进行修改数据25      */26     @Test27     public void update(){28         try {29             //拼接增加的sql语句30             String sql = "UPDATE category SET cname=? WHERE cid=?";31             //调用QueryRunner中update方法执行sql语句32             //创建对象数据,储存?占位符的实际参数33             Object[] parmars = {"洗",10};34             int row = qr.update(sql, parmars);35             System.out.println(row);36         } catch (Exception e) {37             System.out.println(e);38         }39     }40     41     /*42      * 使用QueryRunner,对数据库表进行增加(插入)数据43      */44     @Test45     public void insert(){46         try {47             //拼接增加的sql语句48             String sql = "INSERT INTO category(cname) VALUES(?)";49             //调用QueryRunner中update方法执行sql语句50             int row = qr.update(sql, "玩具");51             System.out.println(row);52         } catch (Exception e) {53             System.out.println(e);54         }55     }56 }
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in den C3P0-Verbindungspool. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 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)

Vollständige Anleitung zur Win11-Gamepad-Verbindung Vollständige Anleitung zur Win11-Gamepad-Verbindung Jan 02, 2024 pm 05:26 PM

Nach dem Update auf das neueste Win11-System sind sich viele Benutzer nicht sicher, wie sie den Controller zum Spielen anschließen sollen. Aus diesem Grund haben wir Ihnen heute eine ausführliche Anleitung zum Anschließen des Win11-Controllers zusammengestellt. Werfen wir einen Blick auf die Bedienung. So verbinden Sie den Controller in Win11: 1. Klicken Sie unten auf Start und geben Sie dann die Windows-Einstellungen ein, um die „Systemsteuerung“ zu öffnen. 2. Nach der Eingabe können Sie „Geräte und Drucker anzeigen“ aufrufen. 3. An dieser Stelle können Sie die Informationen zum Controller-Gerät sehen und einfach die Verbindung herstellen. 4. Nachdem die Verbindung erfolgreich hergestellt wurde, erscheint ein √ und die Verbindung ist abgeschlossen.

Win7-Drucker kann keine Verbindung herstellen, Fehlercode 0x0000011b Win7-Drucker kann keine Verbindung herstellen, Fehlercode 0x0000011b Dec 26, 2023 pm 10:01 PM

Oft müssen wir für verschiedene Druckvorgänge eine Verbindung zum Drucker herstellen, aber manchmal stoßen einige Benutzer auf das Problem, dass Win7 keine Verbindung zum Drucker 0x0000011b herstellen kann. Das Folgende ist die spezifische Lösung. Win7 kann keine Verbindung zum Drucker 0x0000011b1 herstellen. Tastenkombination „win+r“, geben Sie „regedit“ ein 2. Suchen Sie den folgenden Pfad „HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print“ 3. Klicken Sie mit der rechten Maustaste, um einen neuen Wert „DWORD ( 32-Bit-Wert (D) und setzen Sie den Wert auf 0. Benennen Sie das neue Projekt „RpcAuthnLevelPri“.

So schließen Sie die Körperfettwaage an So schließen Sie die Körperfettwaage an Mar 07, 2024 pm 04:50 PM

Wie schließe ich die Körperfettwaage an? Keep verfügt über eine speziell entwickelte Körperfettwaage, aber die meisten Benutzer wissen nicht, wie sie die Körperfettwaage anschließen sollen Editor bringt zu den Nutzern, interessierte Nutzer kommen und schauen! So schließen Sie die Keep-Körperfettwaage an: 1. Öffnen Sie zunächst die Keep-Software, gehen Sie zur Hauptseite, klicken Sie auf [Mein] in der unteren rechten Ecke und wählen Sie [Smart Hardware] aus. 2. Klicken Sie dann auf der Seite „Meine Smart-Geräte“. Klicken Sie auf die Schaltfläche [Gerät hinzufügen] in der Mitte. 3 Wählen Sie dann das Gerät aus, dem Sie eine Schnittstelle hinzufügen möchten. Wählen Sie dann [Intelligente Körperfett-/Gewichtswaage] aus. 4. Klicken Sie dann auf der Seite zur Auswahl des Gerätemodells auf [Körperfettwaage behalten]. Option 5. Schließlich in der unten gezeigten Benutzeroberfläche unten [Jetzt hinzufügen].

So überprüfen Sie die Details und den Status der Netzwerkverbindung unter Windows 11 So überprüfen Sie die Details und den Status der Netzwerkverbindung unter Windows 11 Sep 11, 2023 pm 02:17 PM

Um sicherzustellen, dass Ihre Netzwerkverbindung ordnungsgemäß funktioniert oder um das Problem zu beheben, müssen Sie manchmal die Netzwerkverbindungsdetails unter Windows 11 überprüfen. Auf diese Weise können Sie eine Vielzahl von Informationen anzeigen, darunter Ihre IP-Adresse, MAC-Adresse, Verbindungsgeschwindigkeit, Treiberversion und mehr. In dieser Anleitung zeigen wir Ihnen, wie das geht. Wie finde ich Netzwerkverbindungsdetails unter Windows 11? 1. Verwenden Sie die App „Einstellungen“ und drücken Sie die +-Taste, um die Windows-Einstellungen zu öffnen. Navigieren Sie als Nächstes im linken Bereich zu „Netzwerk & Internet“ und wählen Sie Ihren Netzwerktyp aus. In unserem Fall ist das Ethernet. Wenn Sie ein drahtloses Netzwerk verwenden, wählen Sie stattdessen ein Wi-Fi-Netzwerk aus. Am unteren Bildschirmrand sollten Sie Folgendes sehen:

Was bedeutet der Druckerfehlercode 0x0000011b? Was bedeutet der Druckerfehlercode 0x0000011b? Feb 18, 2024 pm 10:02 PM

Was bedeutet 0x0000011b beim Anschließen an einen Drucker? Benutzer stoßen bei der Verwendung von Computern, Laptops oder anderen Geräten häufig auf verschiedene Fehlercodes. Darunter ist 0x0000011b ein häufiger Fehlercode bei der Druckerverbindung. Was bedeutet also das Anschließen des Druckers 0x0000011b? Zunächst müssen wir die Grundprinzipien der Druckerverbindung verstehen. Wenn wir Dateien vom Computer aus drucken müssen, müssen wir normalerweise den Drucker an den Computer anschließen, um die Datenübertragung zwischen beiden zu ermöglichen. Diese Verbindung kann über hergestellt werden

Der freigegebene Drucker kann keine Verbindung zum Drucker herstellen Der freigegebene Drucker kann keine Verbindung zum Drucker herstellen Feb 22, 2024 pm 01:09 PM

Mit der Entwicklung des digitalen Zeitalters sind gemeinsam genutzte Drucker zu einem unverzichtbaren Bestandteil der modernen Büroumgebung geworden. Manchmal kann es jedoch vorkommen, dass der freigegebene Drucker nicht mit dem Drucker verbunden werden kann, was nicht nur die Arbeitseffizienz beeinträchtigt, sondern auch eine Reihe von Problemen verursacht. Ziel dieses Artikels ist es, die Gründe und Lösungen dafür zu untersuchen, warum ein freigegebener Drucker keine Verbindung zum Drucker herstellen kann. Es gibt viele Gründe, warum ein freigegebener Drucker keine Verbindung zum Drucker herstellen kann. Der häufigste Grund sind Netzwerkprobleme. Wenn die Netzwerkverbindung zwischen dem freigegebenen Drucker und dem Drucker instabil oder unterbrochen ist, ist ein normaler Betrieb nicht möglich.

So beheben Sie eine eingeschränkte Netzwerkverbindung in Windows 10 So beheben Sie eine eingeschränkte Netzwerkverbindung in Windows 10 Feb 19, 2024 pm 09:20 PM

Lösungen für eingeschränkte Netzwerkverbindungen in Win10 Mit der rasanten Entwicklung der Technologie ist das Internet zu einem unverzichtbaren Bestandteil des Lebens der Menschen geworden. Allerdings können bei der Verbindung mit dem Internet auf Computern mit dem Betriebssystem Windows 10 manchmal Probleme auftreten, darunter eingeschränkte Verbindungen. In diesem Fall können wir nicht auf Webseiten zugreifen, Dateien herunterladen oder Netzwerkfunktionen nicht normal nutzen. Gibt es also eine Möglichkeit, dieses Problem zu lösen? In diesem Artikel werden Ihnen mehrere gängige Lösungen vorgestellt. 1. Überprüfen Sie zunächst die Netzwerkverbindungseinstellungen

So verbinden Sie die OnePlus-Uhr mit dem Bluetooth-Headset_So verbinden Sie die OnePlus-Uhr mit dem Bluetooth-Headset So verbinden Sie die OnePlus-Uhr mit dem Bluetooth-Headset_So verbinden Sie die OnePlus-Uhr mit dem Bluetooth-Headset Mar 23, 2024 pm 01:16 PM

1. Legen Sie die Ohrhörer in die Ohrhörerbox und lassen Sie den Deckel geöffnet. Halten Sie die Taste an der Box gedrückt, um in den Kopplungsstatus der Ohrhörer zu gelangen. 2. Schalten Sie die Funktion „Musik ansehen“ ein und wählen Sie „Bluetooth-Kopfhörer“ oder wählen Sie „Bluetooth-Kopfhörer“ in der Funktion „Uhreneinstellungen“ aus. 3. Wählen Sie das Headset auf der Uhr aus, um die Kopplung erfolgreich durchzuführen.

See all articles