


Nouveau mouvement Java : développement piloté par les tests 3 ---enregistrement des utilisateurs 3
Jusqu'à présent, nous n'avons pas abordé la question de fond de l'enregistrement des utilisateurs, c'est-à-dire de l'ajout d'utilisateurs à la base de données. Parlons maintenant de cette exigence.
Vous devez d'abord déterminer la technologie utilisée pour accéder à la base de données. Vous pouvez choisir ici Hibernate, JPA ou JDBC. Je pense que la plupart des applications utilisent Hibernate comme technologie d'accès aux bases de données. D'autres peuvent choisir JPA, mais nous choisissons ici JDBC. La raison est relativement simple. Les choses sous-jacentes semblent plus compliquées, mais une fois maîtrisées, elles sont relativement plus faciles à maîtriser en raison de leur moindre contenu. Ce modèle de cartographie O-R ajoute de nombreux concepts et détails abstraits. Nous ne regardons généralement que la pointe de l'iceberg de ces architectures. Si vous souhaitez maîtriser les choses sous l'iceberg, la difficulté est de plusieurs ordres de grandeur plus difficile que la maîtrise directe de JDBC.
De plus, grâce à notre architecture de développement pilotée par les tests, si nous souhaitons convertir vers d'autres architectures, nous pouvons refactoriser le code existant. Sous la garantie de cas de test, nous pouvons modifier le code en toute sécurité.
Bien, utilisons d'abord le mode DAO pour définir la classe d'interface d'accès à la base de données UserDao. Le code est le suivant :
public interface UserDao { public long registerUser(Map<String, Object> userInfo); }
De manière générale, nous utilisons la base de données Mysql, nous définissons donc. l'implémentation de Dao Class UserMysqlDao, le code est le suivant :
public class UserMysqlDao implements UserDao { @Override public long registerUser(Map<String, Object> userInfo) { // TODO Auto-generated method stub return 0; }
Bien sûr, nous ne voulons pas que l'utilisateur détermine la base de données utilisée, puis instancie la classe d'implémentation correspondante. Il faut adopter le mode usine et introduire la classe DaoFactory. Le code Comme suit :
public class DaoFactory { public static UserDao getUserDao() { UserDao dao = null; switch (dbms) { case "mysql": dao = new UserMysqlDao(); break; } return dao; } public static String getDbms() { return dbms; } public static void setDbms(String dbms) { DaoFactory.dbms = dbms; } private static String dbms = "mysql"; }
Comme le montre le code ci-dessus, l'appelant n'a qu'à appeler DaoFactory.getUserDao() pour obtenir l'implémentation. classe.
Ce qui suit est le problème de la connexion à la base de données. Nous espérons utiliser le pool de connexion à la base de données lors de l'exécution sur des serveurs d'applications tels que Jboss, et utiliser DriverManager dans les tests unitaires, nous devons donc définir une classe d'encapsulation DataSource JdbcDs pour gérer la situation ci-dessus. Le code ressemble à ceci :
public class JdbcDs { public static Connection getConnection() throws SQLException { Connection conn = null; if (iDebug <= 0) { conn = appDs.getConnection(); } else { try { Class.forName("com.mysql.jdbc.Driver").newInstance(); } catch (InstantiationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } Properties connectionProps = new Properties(); connectionProps.put("user", "root"); connectionProps.put("password", "yantao"); conn = DriverManager.getConnection( "jdbc:" + "mysql" + "://" + "localhost" + ":" + 3306 + "/XrcjDb", connectionProps); } return conn; } public static int iDebug = 1; public final static String APP_DS = "java:jboss/datasources/XcgDS"; private static DataSource appDs = null; static{ if (null == appDs) { Properties env = new Properties(); try { InitialContext ictx = new InitialContext(env); appDs = (DataSource)ictx.lookup(APP_DS); } catch (NamingException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } } }
Lorsque vous effectuez des tests unitaires, définissez simplement iDebug sur 1. Sinon, le pool de connexions à la base de données sera utilisé.
Une fois tout le travail de préparation effectué, le développement de la fonction de base de données peut être officiellement réalisé.
Ce qui précède est le contenu du nouveau mouvement Java : développement piloté par les tests 3 --- Enregistrement de l'utilisateur 3. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !

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)

Le site officiel de Deepseek lance désormais plusieurs activités de réduction pour offrir aux utilisateurs une expérience d'achat. Les nouveaux utilisateurs s'inscrivent pour obtenir un coupon de 10 $ et profitez d'une remise à temps limitée de 15% pour l'ensemble de l'audience. Recommander des amis peut également gagner des récompenses, et vous pouvez accumuler des points pour le rachat de cadeaux lors du shopping. Les délais d'événements sont différents.

Java 8 présente l'API Stream, fournissant un moyen puissant et expressif de traiter les collections de données. Cependant, une question courante lors de l'utilisation du flux est: comment se casser ou revenir d'une opération FOREAK? Les boucles traditionnelles permettent une interruption ou un retour précoce, mais la méthode Foreach de Stream ne prend pas directement en charge cette méthode. Cet article expliquera les raisons et explorera des méthodes alternatives pour la mise en œuvre de terminaison prématurée dans les systèmes de traitement de flux. Lire plus approfondie: Améliorations de l'API Java Stream Comprendre le flux Forach La méthode foreach est une opération terminale qui effectue une opération sur chaque élément du flux. Son intention de conception est

Gate.io Sesame Open est la principale plate-forme de trading d'actifs numériques au monde, y compris le trading de devises Fiat, le trading de devises, le trading à effet de levier, les contrats perpétuels, les jetons à effet de levier ETF, la gestion de la patrimoine, l'offre publique initiale de démarrage et d'autres sections, offrant aux utilisateurs la sécurité, la stabilité, l'ouverture et la transparence.

Java est un langage de programmation populaire qui peut être appris aussi bien par les développeurs débutants que par les développeurs expérimentés. Ce didacticiel commence par les concepts de base et progresse vers des sujets avancés. Après avoir installé le kit de développement Java, vous pouvez vous entraîner à la programmation en créant un simple programme « Hello, World ! ». Une fois que vous avez compris le code, utilisez l'invite de commande pour compiler et exécuter le programme, et « Hello, World ! » s'affichera sur la console. L'apprentissage de Java commence votre parcours de programmation et, à mesure que votre maîtrise s'approfondit, vous pouvez créer des applications plus complexes.

Les capsules sont des figures géométriques tridimensionnelles, composées d'un cylindre et d'un hémisphère aux deux extrémités. Le volume de la capsule peut être calculé en ajoutant le volume du cylindre et le volume de l'hémisphère aux deux extrémités. Ce tutoriel discutera de la façon de calculer le volume d'une capsule donnée en Java en utilisant différentes méthodes. Formule de volume de capsule La formule du volume de la capsule est la suivante: Volume de capsule = volume cylindrique volume de deux hémisphères volume dans, R: Le rayon de l'hémisphère. H: La hauteur du cylindre (à l'exclusion de l'hémisphère). Exemple 1 entrer Rayon = 5 unités Hauteur = 10 unités Sortir Volume = 1570,8 unités cubes expliquer Calculer le volume à l'aide de la formule: Volume = π × r2 × h (4

Java Made Simple : Guide du débutant sur la puissance de programmation Introduction Java est un langage de programmation puissant utilisé dans tout, des applications mobiles aux systèmes d'entreprise. Pour les débutants, la syntaxe de Java est simple et facile à comprendre, ce qui en fait un choix idéal pour apprendre la programmation. Syntaxe de base Java utilise un paradigme de programmation orienté objet basé sur les classes. Les classes sont des modèles qui organisent ensemble les données et les comportements associés. Voici un exemple simple de classe Java : publicclassPerson{privateStringname;privateintage;

Spring Boot simplifie la création d'applications Java robustes, évolutives et prêtes à la production, révolutionnant le développement de Java. Son approche "Convention sur la configuration", inhérente à l'écosystème de ressort, minimise la configuration manuelle, allo

Gate.io Exchange est l'une des principales plateformes de trading de crypto-monnaie au monde. Ce guide fournit des tutoriels étape par étape pour aider les utilisateurs à s'inscrire et à échanger avec Gate.io. Le processus d'enregistrement comprend la sélection de la méthode d'enregistrement (téléphone, e-mail ou compte social), remplir des informations, définir un mot de passe de connexion et compléter l'authentification de l'identité. Les tutoriels de trading incluent l'accès aux pages de trading, la sélection de paires de trading, la saisie des informations de trading, la mise en place d'une commande et la visualisation de l'état de la commande. Avec les conseils de cet article, les utilisateurs peuvent facilement commencer à négocier la crypto-monnaie sur gate.io.
