table des matières
1. Le but et les exigences de l'expérience
Utilisez le langage Java pour interroger les données de l'une des tables de la base de données MySQL.
2. Environnement expérimental
Environnement Windows 10
version java: 11.0.10
Outil IDE: IntelliJ IDEA 2020.3
MySQL: 5.7.26
3. Contenu expérimental
Télécharger tomcat
Téléchargez d'abord Tomcat sous Windows. Les étapes sont les suivantes:
-
Allez sur le site officiel pour télécharger, j'ai téléchargé tomcat 8.
-
Téléchargez et décompressez dans le répertoire que vous souhaitez placer, puis ouvrez la ligne de commande (win + R, cmd), entrez le disque où se trouve le fichier, cd, copiez et collez le chemin du dossier bin.
-
Entrez service.bat install dans le bac pour installer. Astuce: Le service "Tomcat8" a été installé. Cela signifie que l'installation est réussie.
-
Une fois l'installation terminée, configurez les variables d'environnement système (dans le clic droit sur les propriétés de mon ordinateur)
-
Le chemin du bac et le chemin de la bibliothèque sont ajoutés à la variable système du chemin.
-
Exécutez startup.bat, caractères déformés (voir le résumé de l'expérience ci-dessous pour les solutions déformées)
-
Jusqu'à présent, Tomcat a réussi
Télécharger le pilote mysql
Créez un mot de passe utilisateur sa dans la base de données mysql et définissez-le sur 123456 et créez une base de données de test à l'avance, et créez une table hello comme suit: id est auto-incrémenté comme clé primaire.
-
Entrez dans le réseau de canalisations , sélectionnez le système d'exploitation et accédez à la page de téléchargement.
-
Ensuite, il vous sera demandé de vous connecter (si vous n'avez pas de compte, il vous suffit d'en demander un), il vous suffit de renseigner quelques informations après vous être connecté à votre compte. Télécharger après soumission.
-
Ce package compressé contient le fichier mysql-connector-java-8.0.23.jar (ce pilote est compatible avec toutes les versions)
Configurer IDEA
-
Copiez le fichier jar piloté par mysql dans le dossier bibliothèque lib de tomcat. (Pas nécessaire cette fois, je peux l'utiliser à l'avenir)
-
Créez un projet Web Java (voir le résumé de l'expérience pour ceux qui ne peuvent pas être créés directement)
-
Configurez Tomcat.
Cliquez sur Exécuter - Modifier les configurations ...
Cliquez sur le signe «+» sur la gauche, recherchez Serveur Tomcat - Local et cliquez sur, puis configurez comme indiqué sur la figure (si vous ne le trouvez pas, cliquez sur la configuration des modèles comme indiqué sur la figure, puis cliquez sur l'avertissement ci-dessus! Créer une configuration) -
Créez deux dossiers sous WEB-INF sous le répertoire Web du projet, l'un est classes, qui est utilisé pour enregistrer les fichiers compilés lorsque le programme est en cours d'exécution. L'autre est le dossier lib, qui est utilisé pour stocker les classes externes à stocker lorsque le programme est en cours d'exécution.
-
Ensuite, configurez la structure du projet et tomcat.
Dans le menu Fichier, cliquez sur Structure du projet ...
Le chemin de sortie sélectionne le dossier classes à l'instant.
Le chemin de référence des classes externes sélectionne le dossier lib que vous venez de créer. (Après avoir sélectionné la boîte de sélection contextuelle, sélectionnez le répertoire Jar) L'
expérience Tomcat doit être sélectionnée dans la bibliothèque
-
Placez le package de pilotes jdbc téléchargé dans le dossier lib que vous venez de créer.
-
Créez vos propres packages et classes dans le dossier src. (Identique à java se)
-
Créez un fichier File sous le dossier src et nommez-le DBConfig.properties. Les informations contenues dans le fichier sont indiquées dans la figure. (Ce n'est pas nécessaire. Vous pouvez également mettre les informations dans le fichier dans la classe. Mais l'avantage de ceci est que même si vous modifiez la base de données, il vous suffit de modifier les informations du fichier de configuration, sans avoir à changer le classer.)
driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC
user=sa
psd=123456
//旧版本的连接
//driver=com.mysql.jdbc.Driver
//url=jdbc:mysql//localhost:3306/test
//user=sa
//psd=123456
- Modifier pour obtenir la fonction de connexion à la base de données
package com.liupanlong.readMysql;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
public class connectMysql {
public Connection getConnection(){
String driver = null;
String url = null;
String user = null;
String psd = null;
Connection conn = null;
Properties pro = new Properties(); //新建一个properties实例,用于从DBConfig中拿到连接参数。
try {
pro.load(this.getClass().getClassLoader().getResourceAsStream("DBConfig.properties")); //加载DBConfig文件。
driver = pro.getProperty("driver");
url = pro.getProperty("url");
user = pro.getProperty("user");
psd = pro.getProperty("psd");
} catch (IOException e) {
e.printStackTrace();
}
try {
Class.forName(driver); //加载jdbc驱动
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
try {
conn = DriverManager.getConnection(url,user,psd); //获取数据库连接
conn.setAutoCommit(false);
return conn; //返回一个数据库连接。
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
}
- Créez une classe de test pour tester si la connexion peut être obtenue.
package com.liupanlong.readMysql;
import java.sql.Connection;
public class Test {
public static void main(String[] args){
connectMysql open = new connectMysql();
Connection conn = open.getConnection();
System.out.println(conn);
}
}
Cliquez avec le bouton droit de la souris dans l'espace vide pour exécuter.
11. Créez le fichier index.jsp sous le dossier Web, ajoutez le <h1>我爱北京天安门!<h1>
code à l' étiquette.
12. Sélectionnez ensuite la course configurée ci-dessus et cliquez sur le triangle à exécuter.
13. Connectez-vous au navigateur et http://localhost:8080/web/index.jsp
vous pouvez voir I love Beijing Tiananmen Carré
Commencer l'expérience
Après avoir terminé les étapes ci-dessus, félicitations à votre environnement est enfin mis en place, vous pouvez démarrer l'expérience.
Si vous avez une poursuite, vous pouvez réaliser la séparation frontale la plus simple (je pense que c'est faisable mais je ne l'ai pas appris, vous pouvez faire un message privé ou laisser un message dans la zone de commentaire)
- Ajouter une classe Hello_table au package
package com.liupanlong.readMysql;
public class Hello_table {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Hello_table(int id, String name) {
this.id = id;
this.name = name;
}
}
2. Modifiez le code de readhello
package com.liupanlong.readMysql;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
public class readhello {
public List readFirstHello() throws SQLException {
List<Hello_table> list =new ArrayList<Hello_table>();
connectMysql open = new connectMysql();
Connection con = open.getConnection(); //连接类
//然后创建statement类对象,用来执行SQL语句
Statement statement=con.createStatement(); //Statement实现增删改查
//你要执行的Sql语句
String sql="select id,name from hello";
//最后设置Resultset类,用来存放获取的 结果集
ResultSet rs=statement.executeQuery(sql); //结果集
int Id=0;
String name=null;
while(rs.next()) {
Id = rs.getInt("id");
name=rs.getString("name");
Hello_table tl=new Hello_table(Id, name);
list.add(tl);
}
//最后关闭
rs.close();
con.close();
return list;
}
}
- Copiez le code suivant dans index.jsp et exécutez-le.
<%--
Created by IntelliJ IDEA.
User: 86135
Date: 2021/3/10
Time: 19:58
To change this template use File | Settings | File Templates.
--%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="com.liupanlong.readMysql.Hello_table" %>
<%@ page import="com.liupanlong.readMysql.readhello" %>
<%@ page import="java.util.List" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html>
<head>
<title>查询hello表格</title>
</head>
<body>
<style>
body,table {text-align: center;} table {margin: auto;}
</style>
<table border="1">
<tr>
<td width="100">id</td>
<td width="100">name</td>
</tr>
<%
readhello dao=new readhello();
List<Hello_table> list = dao.readFirstHello();
for(Hello_table tl:list)
{%>
<tr>
<td width="100"><%=tl.getId() %></td>
<td width="100"><%=tl.getName() %></td>
</tr>
<%}
%>
</table>
</body>
</html>
Utilisez Tomcat pour exécuter, ouvrir le navigateur et localhost:8080/web/index.jsp
enfin c'est tout.
Dans une table mysql comme celle-ci
Quatrièmement, le résumé de l'expérience
Rencontrer des problèmes:
1. Il n'y a pas d'option Java Enterprise dans IDEA pour créer un projet Web Java.
On dit que cela est dû à la nouvelle version d'IDEA, créez d'abord un projet java ordinaire, puis passez à un projet Web. (Le nom que j'ai créé ici est readMysql)
Cliquez avec le bouton droit pour ajouter le support du framework
et il sera là, comme indiqué sur la figure et cliquez sur OK.
2. Tomcat déformé
Dans le dossier conf, recherchez le fichier logging.properties et ouvrez-le. Utilisez les touches Ctrl + F pour trouver "ConsoleHandler.encoding"
sera
java.util.logging.ConsoleHandler.encoding = UTF-8
Changer le codage UTF-8 en GBK en GBK
java.util.logging.ConsoleHandler.encoding = GBK
Puis redémarrez tomcat