国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Maison Java Javacommencer De combien de fa?ons Java doit-il se connecter à MySQL?? Quelles sont les différences ?

De combien de fa?ons Java doit-il se connecter à MySQL?? Quelles sont les différences ?

Nov 23, 2020 pm 03:33 PM
java mysql

De combien de fa?ons Java doit-il se connecter à MySQL?? Quelles sont les différences ?

Il existe cinq fa?ons de connecter Java à MySQL, à savoir?:

(Partage de vidéos d'apprentissage?: Vidéo d'enseignement Java)

La première fa?on : encapsuler le nom d'utilisateur et le mot de passe dans la classe Propriétés

Tout d'abord, il n'y a aucun doute sur l'importation du package de connexion à la base de données. Créez un pilote de pilote jdbc. Enregistrez l'URL de la base de données (en prenant MySQL comme exemple) dans l'URL de la cha?ne créée. Si la version de MySQL est inférieure à 8.0, le formulaire de sauvegarde de l'URL doit être?:

String?url?=?"jdbc:mysql://localhost:3306/test"

Si la version de MySQL est 8.0 ou supérieure, le formulaire de sauvegarde de l'URL est?:

String?url?=?"jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai";

La version de MySQL utilisée ici est 8.0. Le fuseau horaire est donc ajouté à la fin, sinon la valeur par défaut est le fuseau horaire UTC, qui est 8 heures plus tard que l'heure de Pékin.

Encapsulez ensuite l'utilisateur et le mot de passe correspondant à la base de données mysql dans la classe Properties, et enfin créez la connexion à la base de données via la classe Connection. Le code source est le suivant :

		Driver?driver?=?new?com.mysql.jdbc.Driver();
????????String?url?=?"jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai";
????????/*
????????將用戶名和密碼封裝在Properties中
?????????*/
????????Properties?info?=?new?Properties();
????????info.setProperty("user","root");
????????info.setProperty("password","ab20010322");

????????Connection?conn?=?driver.connect(url,info);

????????System.out.println(conn);

. La deuxième fa?on : dans Basé sur la première méthode, utilisez la réflexion pour réaliser le pilote

Changez la première méthode :

Driver?driver?=?new?com.mysql.jdbc.Driver();

en :

Class?clazz?=?Class.forName("com.mysql.jdbc.Driver");
Driver?driver?=?(Driver)?clazz.newInstance();
par rapport à la première méthode, deux méthodes ont les mêmes fonctions, mais la seconde méthode utilise la réflexion pour implémenter le pilote, ce qui évite l'utilisation d'interfaces tierces et rend le code plus portable. Le code source de la deuxième méthode est le suivant :


?/*
????????使用反射獲取Driver類實(shí)例
????????與Driver?driver?=?new?com.mysql.jdbc.Driver()功能相同,只是不適用第三方接口,使得程序具有更好的可移植性
?????????*/
????????Class?clazz?=?Class.forName("com.mysql.jdbc.Driver");
????????Driver?driver?=?(Driver)?clazz.newInstance();

????????/*
????????提供要連接的數(shù)據(jù)庫
?????????*/
????????String?url?=?"jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai";

????????/*
????????提供需要的用戶名和密碼
?????????*/
????????Properties?info?=?new?Properties();
????????info.setProperty("user","root");
????????info.setProperty("password","ab20010322");

????????Connection?connection?=?driver.connect(url,info);

????????System.out.println(connection);
La troisième méthode : utiliser DriveManager(classs) au lieu de Drive


Le code source est le suivant :

????????Class?clazz?=?Class.forName("com.mysql.jdbc.Driver");
????????Driver?driver?=?(Driver)?clazz.newInstance();
????????/*
????????提供連接信息
?????????*/
????????String?url?=?"jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai";
????????String?user?=?"root";
????????String?password?=?"ab20010322";
????????/*
????????注冊驅(qū)動(dòng)
?????????*/
????????DriverManager.registerDriver(driver);
????????/*
????????獲取連接
?????????*/
????????System.out.println(DriverManager.getConnection(url,user,password));
La quatrième méthode?: masquer la méthode de chargement du pilote

Changez le

Driver?driver?=?(Driver)?clazz.newInstance();
DriverManager.registerDriver(driver);
dans la troisième méthode en


Class.forName("com.mysql.jdbc.Driver");
De cette fa?on, vous peut masquer la situation de chargement du pilote. Masquer le

code source comme suit?:

????????String?url?=?"jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai";
????????String?user?=?"root";
????????String?password?=?"ab20010322";
????????/*
????????加載Driver
?????????*/
????????Class.forName("com.mysql.jdbc.Driver");//????????Driver?driver?=?(Driver)?clazz.newInstance();//????????DriverManager.registerDriver(driver);
????????/*
????????獲取連接
?????????*/
????????System.out.println(DriverManager.getConnection(url,user,password));
Méthode 5?: Mettre les informations de base requises par la base de données dans le fichier de configuration jdbc.properties


Pour les quatre méthodes de connexion ci-dessus, les deux exposent les informations de la base de données. Ce n’est pas sécuritaire de le faire. à cet égard, nous devons mettre les informations de base nécessaires à la base de données dans le fichier de configuration jdbc.properties, puis les lire via InputStream. Ceci est s?r et constitue notre méthode de connexion à la base de données la plus couramment utilisée.

Le fichier de configuration jdbc.properties est le suivant?:

user=root
password=123456url=jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
Driver=com.mysql.cj.jdbc.Driver
Remarque?:


Le fichier de configuration doit être 1. placé dans le dossier src Suivant

2. Utilisez votre propre nom d'utilisateur et mot de passe de base de données pour l'utilisateur et le mot de passe

3 Si vous utilisez mysql8.0 ou supérieur, vous devez ajouter le fuseau horaire à. la fin lors de la configuration du fichier url, sinon Une erreur sera signalée

Le code source est le suivant?:

????????InputStream?inputStream?=?ConnectionTest.class.getClassLoader().getResourceAsStream("jdbc.properties");
????????Properties?info?=?new?Properties();
????????info.load(inputStream);
????????
????????String?user?=??info.getProperty("user");
????????String?password?=?info.getProperty("password");
????????String?url?=?info.getProperty("url");
????????String?driver?=?info.getProperty("Driver");

????????/*
????????加載驅(qū)動(dòng)
?????????*/
????????Class.forName(driver);

????????/*
????????獲取連接
?????????*/
????????Connection?conn?=?DriverManager.getConnection(url,user,password);
????????System.out.println(conn);
Recommandations associées?:

Tutoriel d'introduction à Java

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefa?on, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Sujets chauds

Tutoriel PHP
1502
276
Comparaison des frameworks Java: Spring Boot vs Quarkus vs MicronAut Comparaison des frameworks Java: Spring Boot vs Quarkus vs MicronAut Aug 04, 2025 pm 12:48 PM

Pré-formancetartuptimemoryusage, quarkusandmicronautleadduetocompile-timeprocessingandgraalvsupport, withquarkusofperforming lightbetterine scénarios.

Comparaison des outils de construction Java: Maven vs Gradle Comparaison des outils de construction Java: Maven vs Gradle Aug 03, 2025 pm 01:36 PM

GradleisthebetterChoiceFormostNewProjectsDuetOtsSuperiorflexibility, Performance et ModerNtoolingSupport.1.gradle’sgroovy / kotlindslismoreConcis

Les touches de volume sur le clavier ne fonctionnent pas Les touches de volume sur le clavier ne fonctionnent pas Aug 05, 2025 pm 01:54 PM

Tout d'abord, CheckifThefnKeySettingisInterferingyTryingBothThevolumeKeyAlonEndfn volumeKey, thentogglefnlockwithfn espifavailable.2.enterbios / uefidUringbootAnableFunctionKeysordiSablehotKeyModetoenSureVolumeSarereCognined.3.updateorreinstallAdriodriving

Comment comparer deux cha?nes à Java? Comment comparer deux cha?nes à Java? Aug 04, 2025 am 11:03 AM

Utilisez la méthode .equals () pour comparer le contenu de la cha?ne, car == ne compare les références d'objet plut?t que le contenu; 1. Utilisez .equals () pour comparer également les valeurs de cha?ne; 2. Utiliser .EqualSignoreCase () pour comparer l'ignorance du cas; 3. Utilisez .Compareto () pour comparer les cha?nes dans l'ordre du dictionnaire, renvoyant 0, nombres négatifs ou positifs; 4. Utiliser .CompareToIgnoreCase () pour comparer le cas Ignorer; 5. Utilisez des objets.equals () ou de la méthode d'appel s?r pour traiter les cha?nes nulles pour éviter les exceptions de pointeur nul. En bref, vous devez éviter d'utiliser == pour les comparaisons de contenu de cha?ne, sauf s'il est explicitement nécessaire de vérifier si l'objet est en phase.

Propriétés calculées vs méthodes en Vue Propriétés calculées vs méthodes en Vue Aug 05, 2025 am 05:21 AM

Calculé a un cache et les accès multiples ne sont pas recalculés lorsque la dépendance reste inchangée, tandis que les méthodes sont exécutées à chaque fois qu'elles sont appelées; 2.COMPUT est adapté aux calculs basés sur des données réactives. Les méthodes conviennent aux scénarios où les paramètres sont requis ou les appels fréquents, mais le résultat ne dépend pas de données réactives; 3.Coupation prend en charge les getters et les setters, ce qui peut réaliser la synchronisation bidirectionnelle des données, mais les méthodes ne sont pas prises en charge; 4. Résumé: Utilisez d'abord calculé pour améliorer les performances et utilisez des méthodes lors de la réussite des paramètres, de l'exécution d'opérations ou d'éviter le cache, en suivant le principe de "Si vous pouvez utiliser calculé, vous n'utilisez pas de méthodes".

Python Logging to File Exemple Python Logging to File Exemple Aug 04, 2025 pm 01:37 PM

Le module de journalisation de Python peut écrire des journaux dans les fichiers via FileHandler. Tout d'abord, appelez le processeur et format de fichier de configuration BasicConfig, tels que la définition du niveau sur les informations, en utilisant FileHandler pour écrire app.log; Deuxièmement, ajoutez StreamHandler pour atteindre la sortie à la console en même temps; Les scénarios avancés peuvent utiliser TimeRotingFileHandler pour diviser les journaux par le temps, par exemple, définir quand = 'Midnight' pour générer de nouveaux fichiers chaque jour et conserver 7 jours de sauvegarde, et assurez-vous que le répertoire de journal existe; Il est recommandé d'utiliser GetLogger (__ Name__) pour créer des journalistes nommés et produire

Comment rejoindre un éventail de cha?nes à Java? Comment rejoindre un éventail de cha?nes à Java? Aug 04, 2025 pm 12:55 PM

L'utilisation de String.join () (Java8) est la méthode recommandée la plus simple pour connecter les tableaux de cha?ne, spécifiez simplement le séparateur directement; 2. Pour les anciennes versions de Java ou lorsque plus de contr?le est nécessaire, vous pouvez utiliser StringBuilder pour traverser et épisser manuellement; 3. StringJoiner convient aux scénarios qui nécessitent des formats plus flexibles tels que les préfixes et les suffixes; 4. Utilisation de Arrays.Stream () combinée avec des collectionneurs.joining () convient au filtrage ou à la conversion du tableau avant de rejoindre; Pour résumer, si Java8 et supérieur est utilisé, la méthode String.join () doit être préférée dans la plupart des cas, ce qui est concis et facile à lire, mais pour une logique complexe, elle est recommandée.

Meilleures pratiques pour gérer les grandes tables MySQL Meilleures pratiques pour gérer les grandes tables MySQL Aug 05, 2025 am 03:55 AM

Lorsque vous traitez avec de grandes tables, les performances MySQL et la maintenabilité sont confrontées à des défis, et il est nécessaire de commencer à partir de la conception structurelle, de l'optimisation des index, de la stratégie de sous-table de tableau, etc. 1. Concevoir raisonnablement les clés et les index primaires: il est recommandé d'utiliser des entiers auto-incrémentés comme clés principales pour réduire les scintillement de pages; Utiliser les index de superposition pour améliorer l'efficacité de la requête; Analyser régulièrement les journaux de requête lents et supprimer les index non valides. 2. Utilisation rationnelle des tables de partition: partition en fonction de la plage de temps et d'autres stratégies pour améliorer l'efficacité de la requête et de la maintenance, mais l'attention devrait être accordée aux problèmes de partitionnement et de coupe. 3. Envisagez de lire et d'écrire la séparation et la séparation des bibliothèques: la séparation de lecture et d'écriture atténue la pression sur la bibliothèque principale. La séparation de la bibliothèque et la séparation des tableaux conviennent aux scénarios avec une grande quantité de données. Il est recommandé d'utiliser des middleware et d'évaluer les problèmes de requête des transactions et des magasins croisés. La planification précoce et l'optimisation continue sont la clé.

See all articles