Avez-vous la classe d'outils JDBC super facile à utiliser?

table des matières

Classe QueryRunner

requete()

mettre à jour()  

lot()    

Interface ResultHandler

BeanHandler        

BeanListHandler  

MapHandler          

MapListHandler    

étude de cas


Bonjour à tous, je suis Little Grey Ape, un programmeur qui sait écrire des bogues,

Aujourd'hui, je voudrais partager avec vous l'utilisation spécifique des classes d'outils et des interfaces couramment utilisées pour la commodité de la manipulation des données lors de l'utilisation de jdbc pour se connecter à la base de données, et une explication de la technologie de pool de connexion de base de données jdbc de Java, amis intéressés Vous pouvez lire mon article " Non, non, non, il y a des gens qui ne connaissent pas la technologie de pool de connexions JDBC! ",

Lors du développement d'applications de base de données Java, nous effectuons souvent une série d'opérations telles que l'ajout, la suppression, la modification et la vérification des données stockées dans la base de données. Cependant, si les instructions SQL sont exécutées selon les interfaces traditionnelles Statement et PreparedStatement, elles sont non seulement peu pratique à utiliser, et cela augmentera considérablement la quantité de notre code, donc dans les opérations de base de données réelles, nous utilisons souvent la classe d'outil de base de données QueryRunner et l'interface ResultHandler,

Et dans des circonstances normales, cette classe et cette interface sont utilisées en combinaison, c'est-à-dire que la classe QueryRunner traite les instructions sql et que l'interface ResultHandler traite le jeu de résultats renvoyé.

Ensuite, je partagerai avec vous les méthodes spécifiques de leur utilisation:

Tout d'abord, utilisez la classe QueryRunner pour importer le package jar correspondant,

J'utilise commons-dbutils-1.6.jar, l'adresse de téléchargement officielle du package jar:

http://commons.apache.org/proper/commons-dbutils/download_dbutils.cgi

 

Classe QueryRunner

La fonction principale de la classe QueryRunner est de traiter les instructions SQL. Les méthodes couramment utilisées de cette classe sont les suivantes:

requete()

La méthode Query () est utilisée pour les requêtes de données. Les paramètres couramment utilisés dans cette méthode sont les suivants:

conn-la connexion utilisée pour exécuter la requête.

sql - la requête à exécuter.

paramètres de remplacement des paramètres.

rsh - Le gestionnaire qui convertit le résultat en un objet.

mettre à jour()  

La méthode Update () est utilisée pour ajouter, supprimer et modifier. Les paramètres couramment utilisés dans cette méthode sont les suivants;

conn-la connexion utilisée pour exécuter la requête.

sql - Le SQL à exécuter.

paramètre de remplacement de paramètre.

lot()    

batch () est utilisé pour le traitement par lots, il est utilisé pour exécuter un lot de requêtes SQL INSERT, UPDATE ou DELETE.

Les paramètres inclus sont:

conn-la connexion utilisée pour exécuter la requête. L'appelant est responsable de la fermeture de cette connexion.

sql - Le SQL à exécuter.

tableau de paramètres de remplacement de la requête params. Chaque ligne de ce tableau est un ensemble de valeurs de remplacement par lots.

La valeur de retour est le nombre de lignes mises à jour par chaque instruction.

 

Interface ResultHandler

L'interface ResultHandler est utilisée pour traiter le jeu de résultats, qui peut convertir le jeu de résultats de la requête en un objet java, et fournit 4 classes d'implémentation:

BeanHandler        

Mapper le jeu de résultats aux objets Java

BeanListHandler  

Mapper le jeu de résultats à une collection List

MapHandler          

Mapper l'ensemble de résultats à un ensemble de mappes

MapListHandler    

Mapper le jeu de résultats à une collection MapList

 

étude de cas

Ensuite, je vais vous montrer comment l'utiliser avec des cas réels:

Exemple 1: interroger toutes les informations de l'élève dont l'ID est 30 et mapper le résultat à un objet Java

ComboPooledDataSource cds = new ComboPooledDataSource("testc3p0");

Connection connection = cds.getConnection();

String sqlString = "select * from emp_table where id=30";

QueryRunner queryRunner = new QueryRunner();

Student student=queryRunner.query(connection, sqlString, new

BeanHandler(Student.class));    

System.out.println(student.getName());

 

Exemple 2: Interrogez toutes les informations de l'élève avec le nom et l'âge spécifiés et mappez le résultat à un objet Java

ComboPooledDataSource cds = new ComboPooledDataSource("testc3p0");

Connection connection = cds.getConnection();

String sqlString = "select * from emp_table where name=? and age=?";

QueryRunner queryRunner = new QueryRunner();

Student student=queryRunner.query(connection, sqlString, new

BeanHandler(Student.class),"李四",22);

System.out.println(student.getName());

 

Exemple 3: interroger une table de données et mapper tous les résultats de la table dans une collection List

ComboPooledDataSource cds = new ComboPooledDataSource("testc3p0");

Connection connection = cds.getConnection();

String sqlString = "select * from emp_table";

QueryRunner queryRunner = new QueryRunner();

List<Student> students=queryRunner.query(connection, sqlString, new

BeanListHandler<Student>(Student.class));

for (Student student : students) {

System.out.println(student.getName());

}

Exemple 4: insérer des données spécifiées dans une table de données

String sqlString="insert into emp_table(name,age) values (?,?)";

QueryRunner queryRunner = new QueryRunner();

int i = queryRunner.update(connection, sqlString, "赵六",68);

System.out.println(i);

 

Enfin, j'ai implémenté un système simple de gestion des informations sur les employés à l'aide de la classe QueryRunner et de l'interface ResultHandler, qui peuvent ajouter, supprimer, modifier et vérifier les informations de base sur les employés. L'effet est le suivant:

Les amis intéressés peuvent télécharger le code source pour en savoir plus ici:

Lien: https://pan.baidu.com/s/1-zAT7wAaxzp1ZHN0M_uY0w    Code d'extraction: lgcr

Concernant l'utilisation des outils de base de données de connexion JDBC, je vais partager avec mes amis ici J'espère que vous pourrez critiquer et corriger les éventuelles lacunes.

Sentez-vous bien, n'oubliez pas d'aimer et de suivre !

Le grand méchant loup vous accompagne pour progresser ensemble!

 

 

Je suppose que tu aimes

Origine blog.csdn.net/weixin_44985880/article/details/110243526
conseillé
Classement