c3p0连接池模板
连接池是创建和管理一个连接的缓冲池的技术,这些连接准备好被任何需要它们的线程使用。 我现在做一个p3c0连接池的模板。 首先p3c0是开源的,所以去官网下载p3c0的jar包。在工程中导入,同时要下载你连接数据库的驱动 连接池模板代码如下: package com.fish
连接池是创建和管理一个连接的缓冲池的技术,这些连接准备好被任何需要它们的线程使用。
我现在做一个p3c0连接池的模板。
首先p3c0是开源的,所以去官网下载p3c0的jar包。在工程中导入,同时要下载你连接数据库的驱动
连接池模板代码如下:
package com.fish; import java.beans.PropertyVetoException; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ResourceBundle; import com.mchange.v2.c3p0.ComboPooledDataSource; /** * 连接数据库的工具类,被定义成不可继承且是私有访问 */ public final class DBTool { //采用配置文件的方式配置连接池的一些信心,这个是配置文件的名字 final private static String OPTION_FILE_NAME = "mysqldatabase"; private static Connection conn; static ResourceBundle res; //连接池的类 static ComboPooledDataSource cpds; static { //从配置文件中获取文件 res = ResourceBundle.getBundle(OPTION_FILE_NAME); //创建一个连接池 cpds = new ComboPooledDataSource(); //驱动名 String driver = res.getString("jdbc.driver"); //连接url String url = res.getString("jdbc.url"); //数据库用户名 String user = res.getString("jdbc.username"); //数据库密码 String password = res.getString("jdbc.password"); //连接池的最大连接数 String poolMax = res.getString("c3p0.maxPoolSize"); //连接池的最小连接数 String poolMin = res.getString("c3p0.minPoolSize"); //当资源用尽时,允许连接的数目 String PoolAcquireIncrement = res.getString("c3p0.acquireIncrement"); try { cpds.setDriverClass(driver); } catch (PropertyVetoException e) { System.out.println("驱动没找到"); } cpds.setJdbcUrl(url); cpds.setUser(user); cpds.setPassword(password); cpds.setMinPoolSize(Integer.parseInt(poolMin)); cpds.setAcquireIncrement(Integer.parseInt(PoolAcquireIncrement)); cpds.setMaxPoolSize(Integer.parseInt(poolMax)); } /** * 获取数据库的连接 * * @return conn */ public static Connection getConnection() { try { conn = cpds.getConnection(); } catch (SQLException e) { System.out.println("连接失败"); } return conn; } /** * 释放资源 * */ public static void closeJDBC(Connection conn, Statement statement, ResultSet rs) { if (null != rs) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); throw new RuntimeException(e); } finally { if (null != statement) { try { statement.close(); } catch (SQLException e) { e.printStackTrace(); throw new RuntimeException(e); } finally { if (null != conn) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); throw new RuntimeException(e); } } } } } } } }
2.mysqldatabase.properties文件如下:
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://127.0.0.1:3306/datacenter3 jdbc.username=root jdbc.password=1234 c3p0.maxPoolSize = 30 c3p0.minPoolSize = 10 c3p0.acquireIncrement =10 以后你要连接什么数据库直接在这个文件里面修改。 测试:例子 package com.fish; public class Test2 { public static void main(String[] args) throws Exception { System.out.println(DBTool.getConnection()); } } 输出结果: 2014-11-16 14:44:04 com.mchange.v2.log.MLog <clinit> 信息: MLog clients using java 1.4+ standard logging. 2014-11-16 14:44:04 com.mchange.v2.c3p0.C3P0Registry banner 信息: Initializing c3p0-0.9.2.1 [built 20-March-2013 11:16:28 +0000; debug? true; trace: 10] 2014-11-16 14:44:04 com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource getPoolManager 信息: Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSource [ acquireIncrement -> 10, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, dataSourceName -> 1hge1d1951evdfumup12ui|5ffb18, debugUnreturnedConnectionStackTraces -> false, description -> null, driverClass -> com.mysql.jdbc.Driver, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> 1hge1d1951evdfumup12ui|5ffb18, idleConnectionTestPeriod -> 0, initialPoolSize -> 3, jdbcUrl -> jdbc:mysql://127.0.0.1:3306/datacenter3, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 0, maxIdleTimeExcessConnections -> 0, maxPoolSize -> 30, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 10, numHelperThreads -> 3, preferredTestQuery -> null, properties -> {user=******, password=******}, propertyCycle -> 0, statementCacheNumDeferredCloseThreads -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, unreturnedConnectionTimeout -> 0, userOverrides -> {}, usesTraditionalReflectiveProxies -> false ] com.mchange.v2.c3p0.impl.NewProxyConnection@d19bc8

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Cet article expliquera en détail comment PHP formate les lignes en CSV et écrit les pointeurs de fichiers. Je pense que c'est assez pratique, je le partage donc avec vous comme référence. J'espère que vous pourrez gagner quelque chose après avoir lu cet article. Formater les lignes au format CSV et écrire dans le pointeur de fichier Étape 1 : Ouvrir le pointeur de fichier $file=fopen("path/to/file.csv","w"); Étape 2 : Convertir les lignes en chaîne CSV à l'aide de la fonction fputcsv( ) convertit les lignes en chaînes CSV. La fonction accepte les paramètres suivants : $file : pointeur de fichier $fields : champs CSV sous forme de tableau $delimiter : délimiteur de champ (facultatif) $enclosure : guillemets de champ (

Comment connecter la balance de graisse corporelle Keep ? Keep dispose d'une balance de graisse corporelle spécialement conçue, mais la plupart des utilisateurs ne savent pas comment connecter la balance de graisse corporelle Keep. Voici ensuite le didacticiel graphique sur la méthode de connexion de la balance de graisse corporelle Keep. L'éditeur apporte aux utilisateurs, les utilisateurs intéressés viennent y jeter un œil ! Comment connecter la balance de graisse corporelle Keep 1. Ouvrez d'abord le logiciel Keep, accédez à la page principale et cliquez sur [Mon] dans le coin inférieur droit pour sélectionner [Matériel intelligent] 2. Ensuite, sur la page Mes appareils intelligents, cliquez sur le bouton ; Bouton [Ajouter un appareil] au milieu ; 3, puis sélectionnez l'appareil auquel vous souhaitez ajouter une interface, sélectionnez [Échelle de graisse corporelle/poids intelligente] 4. Ensuite, sur la page de sélection du modèle d'appareil, cliquez sur l'option [Conserver la balance de graisse corporelle] ; ; 5. Enfin, dans l'interface ci-dessous, enfin [Ajouter maintenant] en bas

L'article de StableDiffusion3 est enfin là ! Ce modèle est sorti il y a deux semaines et utilise la même architecture DiT (DiffusionTransformer) que Sora. Il a fait beaucoup de bruit dès sa sortie. Par rapport à la version précédente, la qualité des images générées par StableDiffusion3 a été considérablement améliorée. Il prend désormais en charge les invites multithèmes, et l'effet d'écriture de texte a également été amélioré et les caractères tronqués n'apparaissent plus. StabilityAI a souligné que StableDiffusion3 est une série de modèles avec des tailles de paramètres allant de 800M à 8B. Cette plage de paramètres signifie que le modèle peut être exécuté directement sur de nombreux appareils portables, réduisant ainsi considérablement l'utilisation de l'IA.

Cet article explore le problème de la détection précise d'objets sous différents angles de vue (tels que la perspective et la vue à vol d'oiseau) dans la conduite autonome, en particulier comment transformer efficacement les caractéristiques de l'espace en perspective (PV) en vue à vol d'oiseau (BEV). implémenté via le module Visual Transformation (VT). Les méthodes existantes sont globalement divisées en deux stratégies : la conversion 2D en 3D et la conversion 3D en 2D. Les méthodes 2D vers 3D améliorent les caractéristiques 2D denses en prédisant les probabilités de profondeur, mais l'incertitude inhérente aux prévisions de profondeur, en particulier dans les régions éloignées, peut introduire des inexactitudes. Alors que les méthodes 3D vers 2D utilisent généralement des requêtes 3D pour échantillonner des fonctionnalités 2D et apprendre les poids d'attention de la correspondance entre les fonctionnalités 3D et 2D via un transformateur, ce qui augmente le temps de calcul et de déploiement.

1. Placez les écouteurs dans la boîte des écouteurs et maintenez le couvercle ouvert. Appuyez et maintenez enfoncé le bouton de la boîte pour entrer dans l'état d'appairage des écouteurs. 2. Activez la fonction regarder de la musique et sélectionnez les écouteurs Bluetooth, ou sélectionnez les écouteurs Bluetooth dans la fonction des paramètres de la montre. 3. Sélectionnez le casque sur la montre à associer avec succès.

Comment connecter la manette Bluetooth à Gohan Arcade ? Gohan Game Center est une boîte de jeu utilisée par de nombreux joueurs de jeux mobiles. Elle contient un grand nombre de ressources de jeu populaires et de riches fonctions liées au jeu. Ci-dessous, l'éditeur présentera la méthode de connexion du contrôleur de jeu. 1. Allez d'abord sur la page d'accueil de l'application Gohan Game Center, puis cliquez sur l'option « Mon » dans le coin inférieur droit de la page d'accueil ; 2. Recherchez la fonction [Contrôleur] dans la page Mon, l'emplacement est indiqué sur l'image ; ci-dessous, et cliquez pour accéder aux paramètres ; 3. Sélectionnez pour l'activer. Pour la fonction Bluetooth du téléphone mobile, confirmez que le contrôleur est allumé 4. Enfin, suivez les instructions du contrôleur pour établir une connexion correspondante ; Si la connexion réussit, vous pouvez utiliser le jeu mobile pour découvrir différents jeux.

Lorsque vous utilisez le navigateur Edge pour accéder à des pages Web, avez-vous déjà rencontré un message indiquant que votre connexion n'est pas une connexion dédiée, provoquant l'échec de la navigation sur le Web ? Comment ça se passe ? De nombreux amis ne savent pas comment résoudre ce problème. Vous pouvez consulter les trois solutions suivantes. Méthode 1 (simple et grossière) : Dans le navigateur Edge, vous pouvez essayer de résoudre le problème de l'inaccessibilité du site Web en entrant les paramètres et en désactivant la fonction de sécurité, puis en bloquant les autorisations de localisation dans les autorisations du site Web. Il est important de noter que l’efficacité et la durée de cette approche peuvent varier et que les effets spécifiques ne peuvent être déterminés. Après avoir redémarré votre navigateur, vous pouvez essayer de visiter le site Web pour voir si le problème est résolu. Méthode 2 : ajuster le clavier à la saisie en anglais

Comment se connecter au bracelet Huawei ? Dans le logiciel Keep, vous pouvez vous connecter au bracelet Huawei. Ensuite, l'éditeur propose aux utilisateurs un didacticiel graphique sur la façon de se connecter au bracelet Huawei. garder. On a l'impression que les utilisateurs intéressés viennent jeter un œil ! Comment connecter Keep au bracelet Huawei 1. Ouvrez d'abord l'application Keep, cliquez sur [Moi] dans le coin inférieur droit de la page principale pour accéder à la zone spéciale, puis sélectionnez [Smart Hardware] 2. Ensuite, accédez à Mon appareil intelligent ; page de fonction et cliquez sur [Ajouter un appareil] au milieu ; 3. Ensuite, sur la page de sélection de l'appareil que vous souhaitez ajouter, sélectionnez la fonction [Bracelet/Montre intelligente] 4. Enfin, sur l'interface ci-dessous, cliquez sur le bouton ; Modèle de montre Huawei à connecter.
