Analyse von 2 Implementierungsmethoden zum Konfigurieren der JNID-Datenquelle in Tomcatc3p0

Analyse von 2 Implementierungsmethoden zum Konfigurieren der JNID-Datenquelle in Tomcatc3p0

Verwenden von c3p0

Importieren Sie das c3p0jar-Paket

<!-- https://mvnrepository.com/artifact/com.mchange/c3p0 -->
  <Abhängigkeit>
   <groupId>com.mchange</groupId>
   <artifactId>c3p0</artifactId>
   <version>0.9.5.2</version>
  </Abhängigkeit>

Fügen Sie der Datei context.xml von Tomcat eine Datenquellenkonfiguration hinzu

<Ressource 
    auth="Behälter" 
    Beschreibung="DB-Verbindung" 
    TreiberClass="com.mysql.jdbc.Driver" 
    maxPoolgröße="100" minPoolgröße="2" 
    acquireIncrement="2" 
    Name="jdbc/meineDB" 
    Benutzer="root" 
    Passwort="123456" 
    Fabrik="org.apache.naming.factory.BeanFactory" 
    Typ="com.mchange.v2.c3p0.ComboPooledDataSource" 
    jdbcUrl="jdbc:mysql://localhost:3306/attendance_system?characterEncoding=utf8&serverTimezone=GMT%2B8" />

Sei verbunden

geschützt void doGet(HttpServletRequest-Anforderung, HttpServletResponse-Antwort)
      wirft ServletException, IOException {
    versuchen {
      //KontextKontext erstellen context=new InitialContext();
      //Datenquelle abrufen ComboPooledDataSource comboPooledDataSource= (ComboPooledDataSource) context.lookup
          ("java:comp/env/jdbc/myDB");
      //Datenbankverbindung abrufen Connection connection=comboPooledDataSource.getConnection();
      
      wenn(!connection.isClosed()){
        System.out.println("Verbindung erfolgreich hergestellt");
      }
    } Fang (NamingException e) {
      e.printStackTrace();
    } Fang (SQLException e) {
      e.printStackTrace();
    }
  }

Druiden verwenden

JAR-Paket importieren

 <!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
  <Abhängigkeit>
   <groupId>com.alibaba</groupId>
   <artifactId>Druide</artifactId>
   <version>1.1.16</version>
  </Abhängigkeit>

Fügen Sie der Datei context.xml von Tomcat eine Datenquellenkonfiguration hinzu

<Ressource
  Name="jdbc/MysqlDataSource"
  Fabrik="com.alibaba.druid.pool.DruidDataSourceFactory"
  auth="Behälter"
  Typ="javax.sql.DataSource"
  TreiberKlassenname="com.mysql.cj.jdbc.Treiber"
  url="jdbc:mysql://localhost:3306/yl?characterEncoding=utf8&serverTimezone=GMT%2B8"
  Benutzername="root"
  Passwort="123456"
  maxActive="50"
  maxWartezeit="10000"
  entfernenabandoned="true"
  entfernenabandonedtimeout="60"
  logabandoned="false"
  Filter = "stat"/>

Sei verbunden

geschützt void doGet(HttpServletRequest-Anforderung, HttpServletResponse-Antwort)
      wirft ServletException, IOException {
    versuchen {
      //Holen Sie sich das Kontextobjekt Context context=new InitialContext();
      //Datenquelle abrufen DataSource ds= (DataSource) context.lookup("java:comp/env/jdbc/MysqlDataSource");
      //Holen Sie sich das Verbindungsobjekt Connection connection=ds.getConnection();
​
      wenn(!connection.isClosed()){
        System.out.println("Verbindung erfolgreich");
​
      }
    } Fang (NamingException e) {
      e.printStackTrace();
    } Fang (SQLException e) {
      e.printStackTrace();
    }
  }

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Einführung in die Prinzipien, Konfiguration und Verwendung von Tomcat-Datenquellen
  • Tomcat-Datenquellen-Konfigurationsmethode_JBuilder
  • Drei Möglichkeiten zum Konfigurieren einer JNDI-Datenquelle in Tomcat

<<:  MySQL-Schnellwiederherstellungslösung basierend auf dem Zeitpunkt

>>:  Beispielcode zur Verwendung der Elementkalenderkomponente in Vue

Artikel empfehlen

So löschen Sie die Hintergrundfarbe des A-Tags, wenn in H5 darauf geklickt wird

1. Die blaue Farbe des Tags wird aufgehoben, wenn...

Tipps zum Schreiben prägnanter React-Komponenten

Inhaltsverzeichnis Vermeiden Sie die Verwendung d...

MySQL verwendet UNIQUE, um das Einfügen nicht doppelter Daten zu implementieren

SQL UNIQUE-Einschränkung Die UNIQUE-Einschränkung...

Versuchen Sie Docker+Nginx, um die Single-Page-Anwendungsmethode bereitzustellen

Von der Entwicklung bis zur Bereitstellung: Mache...

Die Auswirkungen des Limits auf die Abfrageleistung in MySQL

I. Einleitung Lassen Sie mich zunächst die MySQL-...

MySQL verwendet SQL-Anweisungen zum Ändern von Tabellennamen

In MySQL können Sie die SQL-Anweisung „rename tab...

Verwenden Sie CSS, um die Breite von INPUT in TD festzulegen

Als ich kürzlich mit C# ein Webprogramm erstellte,...

Ein Artikel, der Ihnen hilft, mehr über JavaScript-Arrays zu erfahren

Inhaltsverzeichnis 1. Die Rolle des Arrays: 2. De...