Système de gestion des tâches / clones Java / Twitter ① Créer une base de données

introduction

Je voudrais écrire un article pour ceux qui écrivent des applications pour la première fois en utilisant Java. Nous vous serions reconnaissants de bien vouloir l'utiliser comme référence pour créer des thèmes de formation pour votre portefeuille et votre entreprise. Cette fois, nous allons créer un gestionnaire de tâches. En appliquant cela, il peut également être utilisé pour créer des clones Twitter.

Je publierai des articles pour chaque fonction de l'application.

  1. Créer une base de données
  2. Fonction de connexion
  3. Fonction d'enregistrement des tâches
  4. Affichage de la liste -Fonction de tri -Fonction de recherche
  5. Fonction d'édition
  6. Fonction de suppression
  7. Contrôle exclusif

Environnement d'exécution

eclipse4.16.0 Tomcat9 Java11 Mysql5.7

table des matières

  1. Présentation de la base de données
  2. Instruction SQL
  3. Création de haricots
  4. Connexion avec la base de données
  5. Prochain avis

Aperçu de la base de données

Nom de la base de données task_db Bon nom d'utilisateur testuser Mot de passe mot de passe Table table principale des utilisateurs Table principale des catégories Tableau principal des statuts Table des tâches (avec ForeignKey ID utilisateur, ID de catégorie, ID d'état) Table de commentaires (a ForeignKey de l'ID utilisateur et de l'ID de tâche)

Instruction SQL

① Création de base de données

create databasetask_db

② Création d'utilisateurs Tout d'abord, devenez l'utilisateur root et modifiez la validation du mot de passe

Set global validate_password.length=6;Longueur du mot de passe à 6
set global validate_password.policy=LOW;Changer de politique

Créez ensuite un utilisateur avec un mot de passe

create user testuser identified by 'password'

③ Donnez à l'utilisateur tous les privilèges de task_db

grant all on task_db.* to testuser

La préparation est terminée.

④ Créez chaque tableau.

--------Table maître de l'utilisateur
create table m_user (
user_id varchar(24) primary key,
password varchar(32) not null,
user_name varchar(20) not null unique,
update_datetime timestamp not null default current_timestamp on update current_timestamp
);
--------Table principale des catégories
create table m_category (
category_id int primary key auto_increment,
category_name varchar(20) not null unique,
update_datetime timestamp not null default current_timestamp on update current_timestamp
);
--------Tableau principal des statuts
create table m_status (
status_code char(2) primary key,
status_name varchar(20) unique not null,
update_datetime timestamp not null default current_timestamp on update current_timestamp
);
--------Table des tâches
create table t_task (
 task_id int auto_increment primary key,
task_name varchar(50) not null,
category_id int not null,
limit_date date,
user_id varchar(24) not null,
status_code char(2) not null,
memo varchar(100),
create_datetime timestamp default current_timestamp not null,
update_datetime timestamp default current_timestamp not null on update current_timestamp,
foreign key(category_id) references m_category(category_id),
foreign key(user_id) references m_user(user_id),
foreign key(status_code) references m_status(status_code)
);
--------Tableau des commentaires
create table t_comment(
comment_id int auto_increment primary key,
task_id int,
user_id varchar(100) not null,
comment varchar(100) not null,
update_datetime timestamp default current_timestamp not null on update current_timestamp,
foreign key(task_id) references t_task(task_id) on delete set null on update cascade,
foreign key(user_id) references m_user(user_id)
);

Ensuite, mettez les données initiales.

-------Création d'un enregistrement de catégorie
insert into m_category (category_name) value("Nouveau produit A: Projet de développement");
insert into m_category (category_name) value("Produit existant B: projet d'amélioration");
select * from m_category;
--------Création d'un enregistrement de statut
insert into m_status ( status_code, status_name) values("00", "pas encore commencé");
insert into m_status ( status_code, status_name) values("50", "Début");
insert into m_status ( status_code, status_name) values("99", "Terminé");
select * from m_status;
--------Création d'un enregistrement utilisateur
insert into m_user(user_id, password, user_name) values("testid", "password", "testuser");
insert into m_user(user_id, password, user_name) values("testid2", "password", "testuser2");
--------Création d'enregistrements de tâches
insert into t_task(task_name, category_id, limit_date, user_id, status_code, memo) values("Exemple de tâche 1", 1, "2022-10-01", "testid", "99", "Entrée de test");
insert into t_task(task_name, category_id, limit_date, user_id, status_code, memo) values("Exemple de tâche 2", 2, "2020-07-05", "testid", "50", "Entrée de test");
insert into t_task(task_name, category_id, limit_date, user_id, status_code, memo) values("Exemple de tâche 2", 1, "2020-09-30", "testid", "00", "Entrée de test");
insert into t_task(task_name, category_id, limit_date, user_id, status_code, memo) values("Exemple de tâche 3", 2, "2002-08-30", "testid", "99", "Entrée de test");
insert into t_task(task_name, category_id, limit_date, user_id, status_code, memo) values("Exemple de tâche 4", 1, "2000-09-30", "testid", "00", "Entrée de test");
insert into t_task(task_name, category_id, limit_date, user_id, status_code, memo) values("Exemple de tâche 5", 2, "2025-09-30", "testid", "50", "Entrée de test");
insert into t_task(task_name, category_id, limit_date, user_id, status_code, memo) values("Exemple de tâche 6", 1, "1998-09-30", "testid", "00", "Entrée de test");
insert into t_task(task_name, category_id, limit_date, user_id, status_code, memo) values("Exemple de tâche 7", 2, "2020-09-30", "testid", "99", "Entrée de test");
insert into t_task(task_name, category_id, limit_date, user_id, status_code, memo) values("Exemple de tâche 8", 1, "2020-10-30", "testid", "00", "Entrée de test");

Création de haricots

Ici, nous allons créer des beans pour chaque table. Il décrit simplement les champs, les constructeurs, les getters et les setters. Après vérification, vous pouvez copier

model.entity.TaskBean.java


public class TaskBean {
	/**
	 *champ
	 */
	private int task_id;
	private String task_name;
	private int category_id;
	private Date limit_date;
	private String user_id;
	private String status_code;
	private String memo;
	private Timestamp create_datetime;
	private Timestamp update_datetime;
	private int version;

	/**
	 *constructeur
	 */
	public TaskBean(){
	}

	/**
	 *Méthode
	 */

	public int getTask_id() {
		return task_id;
	}
	public void setTask_id(int task_id) {
		this.task_id = task_id;
	}

	public String getTask_name() {
		return task_name;
	}
	public void setTask_name(String task_name) {
		this.task_name = task_name;
	}

	public int getCategory_id() {
		return category_id;
	}
	public void setCategory_id(int category_id) {
		this.category_id = category_id;
	}

	public Date getLimit_date() {
		return limit_date;
	}
	public void setLimit_date(Date limit_date) {
		this.limit_date = limit_date;
	}

	public String getUser_id() {
		return user_id;
	}
	public void setUser_id(String user_id) {
		this.user_id = user_id;
	}

	public String getStatus_code() {
		return status_code;
	}
	public void setStatus_code(String status_code) {
		this.status_code = status_code;
	}

	public String getMemo() {
		return memo;
	}
	public void setMemo(String memo) {
		this.memo = memo;
	}

	public Timestamp getCreate_datetime() {
		return create_datetime;
	}
	public void setCreate_datetime(Timestamp create_datetime) {
		this.create_datetime = create_datetime;
	}

	public Timestamp getUpdate_datetime() {
		return update_datetime;
	}
	public void setUpdate_datetime(Timestamp update_datetime) {
		this.update_datetime = update_datetime;
	}

	public int getVersion() {
		return version;
	}
	public void setVersion(int version) {
		this.version = version;
	}
}

model.entity.UserBean.java


public class UserBean {
	/**
	 *champ
	 */
	private String user_id;
	private String password;
	private String user_name;

	/**
	 *constructeur
	 */
	public UserBean(){
	}

	/**
	 *Méthode
	 */
	public String getUser_id() {
		return user_id;
	}
	public void setUser_id(String user_id) {
		this.user_id = user_id;
	}

	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}

	public String getUser_name() {
		return user_name;
	}
	public void setUser_name(String user_name) {
		this.user_name = user_name;
	}

}

model.entity.StatusBean.java


public class StatusBean {
	/**
	 *champ
	 */
	private String status_code;
	private String status_name;

	/**
	 *constructeur
	 */
	public StatusBean(){
	}

	/**
	 *Méthode
	 */
	public String getStatus_code() {
		return status_code;
	}

	public void setStatus_code(String status_code) {
		this.status_code = status_code;
	}

	public String getStatus_name() {
		return status_name;
	}

	public void setStatus_name(String status_name) {
		this.status_name = status_name;
	}
}

model.entity.CategoryBean.java


public class CategoryBean {

	/**
	 *champ
	 */
	private int category_id;
	private String category_name;

	/**
	 *constructeur
	 */
	public CategoryBean(){
	}

	/**
	 *Méthode
	 */
	public int getCategory_id() {
		return category_id;
	}

	public void setCategory_id(int category_id) {
		this.category_id = category_id;
	}

	public String getCategory_name() {
		return category_name;
	}

	public void setCategory_name(String category_name) {
		this.category_name = category_name;
	}
}

model.entity.CommentBean.java


public class CommentBean {
	/**
	 *champ
	 */
	private int comment_id;
	private int task_id;
	private String user_id;
	private String comment;
	private Timestamp update_datetime;

	/**
	 *constructeur
	 */
	public CommentBean() {
	}

	/**
	 *Méthode
	 */
	public int getComment_id() {
		return comment_id;
	}
	public void setComment_id(int comment_id) {
		this.comment_id = comment_id;
	}

	public int getTask_id(){
		return task_id;
	}
	public void setTask_id(int task_id) {
		this.task_id = task_id;
	}

	public String getUser_id() {
		return user_id;
	}
	public void setUser_id(String user_id) {
		this.user_id = user_id;
	}

	public String getComment() {
		return comment;
	}
	public void setComment(String comment) {
		this.comment = comment;
	}

	public Timestamp getUpdate_datetime() {
		return update_datetime;
	}
	public void setUpdate_datetime(Timestamp update_datetime) {
		this.update_datetime = update_datetime;
	}
}

Connexion avec la base de données

① Mettez JDBC dans WebContent-Web-INF-lib du projet (2) Ajouter à partir de la configuration du chemin de construction ③ Créer une connexion gérable Les variables USER et PASSWORD sont des mots de passe et les noms d'utilisateur sont respectivement testuser et password.

model.dao.ConnectionManager.java


public class ConnectionManager {
	//Informations sur la base de données
		private final static String URL = "jdbc:mysql://localhost:3306/task_db?useSSL=false&serverTimezone=JST";
		private final static String USER = "testuser";
		private final static String PASSWORD = "password";

		//Méthode de connexion à la base de données
		public static Connection getConnection() throws SQLException, ClassNotFoundException{
			Class.forName("com.mysql.cj.jdbc.Driver");
			return DriverManager.getConnection(URL, USER, PASSWORD);
		}
}

Aperçu de la prochaine fois

Cette fois, nous sommes passés de la création de la base de données à la création du bean et à la connexion à mysql. La prochaine fois, j'ajouterai une fonction de connexion en utilisant la table m_user que j'ai créée.

Recommended Posts

Système de gestion des tâches / clones Java / Twitter ① Créer une base de données
Clone Java / Twitter / système de gestion des tâches ④ Afficher la liste des tâches
Système de gestion de clone / tâches Java / Twitter ⑥ Ajouter une fonction de suppression
Système de gestion des tâches / clone Java / Twitter (2) Ajouter une fonction de connexion
Système de gestion de clones / tâches Java / Twitter ⑤ Ajouter une fonction d'édition
Système de gestion de clones / tâches Java / Twitter ③ Ajout d'une fonction d'enregistrement de tâches
[Java] Créer un filtre
Créer une méthode java [Memo] [java11]
[Java] Créer un fichier temporaire
Histoire de créer une application de gestion de tâches avec Swing, Java
Créer une base de données dans un environnement de production
Créer un projet Java à l'aide d'Eclipse
[Java] Créer et appliquer un masque des diapositives
Créons un environnement de développement Java (mise à jour)
Créer une application TODO dans Java 7 Créer un en-tête
Comment créer une base de données H2 n'importe où
Créer un CSR avec des informations étendues en Java
Créez un tableau d'affichage simple avec Java + MySQL
[Rails] rails nouveau pour créer une base de données avec PostgreSQL
[Windows] [IntelliJ] [Java] [Tomcat] Créer un environnement pour Tomcat 9 avec IntelliJ
Créons un processus chronométré avec la minuterie de Java! !!
[Java] Créez quelque chose comme une API de recherche de produits
[Android / Java] Exploitez une base de données locale dans la salle
Essayez de créer un babillard en Java
[Java] Créer une collection avec un seul élément
Créons un framework Web ultra-simple avec Java
[Java] Créons un Minecraft Mod 1.14.4 [Introduction]
J'ai essayé de créer une application de clonage LINE
Créer Scala Seq à partir de Java, faire de Scala Seq une liste Java
[Java] Créons un Minecraft Mod 1.16.1 [Introduction]
[Rails] Comment créer un bouton de partage Twitter
[Java] Créons un Minecraft Mod 1.14.4 [99. Mod output]