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

Analyse der Probleme und Lösungen beim Importieren großer Datenmengen in MySQL

Im Projekt stoßen wir häufig auf das Problem, gro...

Zusammenfassung der vier Klick-Antwortmethoden von Button

Button wird ziemlich oft verwendet. Hier habe ich...

React implementiert dynamische Popup-Fensterkomponente

Wenn wir beim Schreiben einiger UI-Komponenten di...

So erstellen Sie Ihr eigenes Image mit Dockerfile

1. Erstellen Sie ein leeres Verzeichnis $ cd /hom...

Beispielcode für kreisförmigen Hover-Effekt mit CSS-Übergängen

Dieser Artikel stellt vor Online-Vorschau und Dow...

Lösung für die Auswirkungen leerer Pfade auf die Seitenleistung

Vor ein paar Tagen habe ich einen von Yu Bo getei...

Installationsprozess des mysql5.6.8-Quellcodes

Kernel: [root@opop ~]# cat /etc/centos-release Ce...

Beitrag zur Übermittlung von HTML-Daten_PowerNode Java Academy

Zu den vom HTTP/1.1-Protokoll angegebenen HTTP-An...

JS implementiert WeChats "Shit Bombing"-Funktion

Hallo zusammen, ich bin Qiufeng. Vor Kurzem hat W...

Tipps zur Verwendung von Vue-Elementen und Nuxt

1. Konvertierung des Übermittlungsformats für die...

Detaillierte Erläuterung des MySQL-Isolationsebenen-Operationsprozesses (cmd)

Beispielvorgang für nicht festgeschriebenes Lesen...