Maison >Java >javaDidacticiel >Technologie de base de données et technologie de gestion de bases de données en Java
Java est un langage de programmation multiplateforme orienté objet qui est largement utilisé dans le développement et la mise en œuvre de diverses applications. Dans le processus de développement d'applications Java, la technologie des bases de données et la technologie de gestion des bases de données sont également très importantes. Cet article explorera la technologie des bases de données et la technologie de gestion des bases de données en Java, y compris les concepts de base des bases de données, les connexions aux bases de données, les méthodes d'exploitation des bases de données, le stockage et la gestion des données, etc.
1. Le concept de base de base de données
Une base de données fait référence à un ensemble de données organisées et stockées ensemble selon certaines règles et pouvant être utilisées par plusieurs utilisateurs. Sa fonction est de fournir des fonctions de stockage et de gestion de données aux entreprises ou. organisations. Les systèmes de gestion de bases de données couramment utilisés incluent MySQL, Oracle, SQL Server, etc.
En Java, l'accès et les opérations aux bases de données nécessitent l'utilisation de la technologie Java Database Connectivity (JDBC). Il s'agit d'une API Java pour exécuter des instructions SQL et se compose d'un ensemble de composants et d'interfaces entre les applications Java et les bases de données.
2. Implémentation de la connexion à la base de données
En Java, pour accéder à la base de données, vous devez d'abord établir une connexion avec la base de données. Dans JDBC, utilisez la méthode statique getConnection() de la classe DriverManager pour obtenir la connexion à la base de données. La méthode getConnection() doit transmettre trois paramètres : une URL, un nom d'utilisateur et un mot de passe.
Par exemple, créez une base de données MySQL nommée « test », créez une table nommée « étudiant » et définissez respectivement leur nom d'utilisateur et leur mot de passe sur root et 123456. Vous pouvez utiliser le code suivant pour établir une connexion à la base de données :
Connection conn = null; try { Class.forName("com.mysql.cj.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/test?serverTimezone=UTC"; String user = "root"; String password = "123456"; conn = DriverManager.getConnection(url, user, password); } catch (Exception e) { e.printStackTrace(); }.
La méthode Class.forName() est utilisée pour charger le pilote JDBC pour MySQL.
3. Comment faire fonctionner la base de données
JDBC fournit des interfaces et des classes pour faire fonctionner la base de données, comprenant principalement les aspects suivants :
Les interfaces Statement et PreparedStatement sont toutes deux utilisées pour l'exécution La différence entre SQL est que PreparedStatement peut empêcher les attaques par injection SQL.
Par exemple, pour interroger toutes les données d'une table, vous pouvez utiliser le code suivant :
Statement stmt = null; ResultSet rs = null; try { stmt = conn.createStatement(); String sql = "SELECT * FROM student"; rs = stmt.executeQuery(sql); while(rs.next()) { System.out.println(rs.getString("name") + " " + rs.getInt("age")); } } catch (Exception e) { e.printStackTrace(); }
L'interface CallableStatement est utilisée pour appeler des procédures et des fonctions stockées, c'est une sous-interface de Statement.
Par exemple, pour appeler une procédure stockée nommée "getStudentNum", vous pouvez utiliser le code suivant :
CallableStatement cstmt = null; try { String sql = "{call getStudentNum(?)}"; cstmt = conn.prepareCall(sql); cstmt.registerOutParameter(1, Types.INTEGER); cstmt.execute(); System.out.println(cstmt.getInt(1)); } catch (Exception e) { e.printStackTrace(); }
Parmi eux, la méthode registerOutParameter() est utilisée pour enregistrer les paramètres de sortie. L'interface
ResultSetMetaData peut obtenir des informations de métadonnées sur les résultats de la requête.
Par exemple, pour obtenir le nom du champ et le type d'une table, vous pouvez utiliser le code suivant :
ResultSetMetaData rsmd = null; try { stmt = conn.createStatement(); String sql = "SELECT * FROM student"; rs = stmt.executeQuery(sql); rsmd = rs.getMetaData(); int columnCount = rsmd.getColumnCount(); for (int i = 1; i <= columnCount; i++) { System.out.println(rsmd.getColumnName(i) + " " + rsmd.getColumnTypeName(i)); } } catch (Exception e) { e.printStackTrace(); }
4. Stockage et gestion des données
En Java, le stockage et la gestion des données peuvent être réalisés en accédant à la base de données. Les JavaBeans sont généralement utilisés pour encapsuler les données, puis les données sont écrites ou lues dans la base de données via JDBC.
Par exemple, créez une classe JavaBean nommée Student :
public class Student { private String name; private int age; // getter and setter methods }
Ensuite, vous pouvez utiliser PreparedStatement pour écrire des données dans la base de données.
PreparedStatement pstmt = null; try { String sql = "INSERT INTO student(name, age) VALUES(?, ?)"; pstmt = conn.prepareStatement(sql); pstmt.setString(1, "Tom"); pstmt.setInt(2, 20); pstmt.executeUpdate(); } catch (Exception e) { e.printStackTrace(); }
En même temps, vous pouvez également utiliser Statement ou PreparedStatement pour lire les données de la base de données.
Par exemple, pour lire les informations d'un étudiant nommé "Tom", vous pouvez utiliser le code suivant :
PreparedStatement pstmt = null; ResultSet rs = null; try { String sql = "SELECT * FROM student WHERE name=?"; pstmt = conn.prepareStatement(sql); pstmt.setString(1, "Tom"); rs = pstmt.executeQuery(); if(rs.next()) { Student student = new Student(); student.setName(rs.getString("name")); student.setAge(rs.getInt("age")); System.out.println(student.getName() + " " + student.getAge()); } } catch (Exception e) { e.printStackTrace(); }
Résumé
La technologie de base de données et la technologie de gestion de bases de données en Java font partie intégrante du développement d'applications Java. Grâce à la technologie JDBC, la connexion avec diverses bases de données relationnelles est réalisée et un riche ensemble de classes et d'interfaces est fourni pour faire fonctionner la base de données, traiter l'ensemble de résultats et lire et écrire des données. Dans le développement réel, nous devons choisir des solutions et des méthodes d'optimisation appropriées en fonction de situations spécifiques pour améliorer les performances et la maintenabilité du programme.
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!