Java / Twitter-Klon- / Aufgabenverwaltungssystem (1) Erstellen Sie eine Datenbank

Einführung

Ich möchte einen Artikel für diejenigen schreiben, die zum ersten Mal Anwendungen mit Java schreiben. Wir würden uns freuen, wenn Sie es als Referenz für die Erstellung von Schulungsthemen für Ihr Portfolio und Ihr Unternehmen verwenden könnten. Dieses Mal erstellen wir einen Task-Manager. Auf diese Weise können auch Twitter-Klone erstellt werden.

Ich werde Artikel für jede Funktion der Anwendung veröffentlichen.

  1. Datenbank erstellen
  2. Anmeldefunktion
  3. Aufgabenregistrierungsfunktion
  4. Listenanzeige -Sort Funktion -Suchfunktion
  5. Bearbeitungsfunktion
  6. Funktion löschen
  7. Exklusive Kontrolle

Ausführungsumgebung

eclipse4.16.0 Tomcat9 Java11 Mysql5.7

Inhaltsverzeichnis

  1. Datenbankübersicht
  2. SQL-Anweisung
  3. Bohnenerstellung
  4. Verbindung mit der Datenbank
  5. Nächster Hinweis

Datenbankübersicht

Datenbankname task_db Rechter Benutzername Testbenutzer Passwort Passwort Tabelle Benutzer Mastertabelle Kategorie Mastertabelle Statusstammtabelle Aufgabentabelle (hat ForeignKey der Benutzer-ID, Kategorie-ID, Status-ID) Kommentartabelle (hat ForeignKey mit Benutzer-ID und Aufgaben-ID)

SQL-Anweisung

① Datenbankerstellung

create databasetask_db

② Benutzererstellung Werden Sie zunächst zum Root-Benutzer und ändern Sie die Kennwortüberprüfung

Set global validate_password.length=6;Passwortlänge bis 6
set global validate_password.policy=LOW;Richtlinie ändern

Erstellen Sie dann einen Benutzer mit einem Passwort

create user testuser identified by 'password'

③ Geben Sie dem Benutzer alle Berechtigungen von task_db

grant all on task_db.* to testuser

Die Vorbereitung ist abgeschlossen.

④ Erstellen Sie jede Tabelle.

--------Mastertabelle des Benutzers
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
);
--------Kategorie Mastertabelle
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
);
--------Statusstammtabelle
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
);
--------Aufgabentabelle
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)
);
--------Kommentartabelle
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)
);

Als nächstes geben Sie die Anfangsdaten ein.

-------Erstellung von Kategoriedatensätzen
insert into m_category (category_name) value("Neues Produkt A: Entwicklungsprojekt");
insert into m_category (category_name) value("Bestehendes Produkt B: Verbesserungsprojekt");
select * from m_category;
--------Erstellung eines Statusdatensatzes
insert into m_status ( status_code, status_name) values("00", "noch nicht angefangen");
insert into m_status ( status_code, status_name) values("50", "Start");
insert into m_status ( status_code, status_name) values("99", "Erledigt");
select * from m_status;
--------Erstellung von Benutzerdatensätzen
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");
--------Erstellung von Aufgabendatensätzen
insert into t_task(task_name, category_id, limit_date, user_id, status_code, memo) values("Beispielaufgabe 1", 1, "2022-10-01", "testid", "99", "Testeingabe");
insert into t_task(task_name, category_id, limit_date, user_id, status_code, memo) values("Beispielaufgabe 2", 2, "2020-07-05", "testid", "50", "Testeingabe");
insert into t_task(task_name, category_id, limit_date, user_id, status_code, memo) values("Beispielaufgabe 2", 1, "2020-09-30", "testid", "00", "Testeingabe");
insert into t_task(task_name, category_id, limit_date, user_id, status_code, memo) values("Beispielaufgabe 3", 2, "2002-08-30", "testid", "99", "Testeingabe");
insert into t_task(task_name, category_id, limit_date, user_id, status_code, memo) values("Beispielaufgabe 4", 1, "2000-09-30", "testid", "00", "Testeingabe");
insert into t_task(task_name, category_id, limit_date, user_id, status_code, memo) values("Beispielaufgabe 5", 2, "2025-09-30", "testid", "50", "Testeingabe");
insert into t_task(task_name, category_id, limit_date, user_id, status_code, memo) values("Beispielaufgabe 6", 1, "1998-09-30", "testid", "00", "Testeingabe");
insert into t_task(task_name, category_id, limit_date, user_id, status_code, memo) values("Beispielaufgabe 7", 2, "2020-09-30", "testid", "99", "Testeingabe");
insert into t_task(task_name, category_id, limit_date, user_id, status_code, memo) values("Beispielaufgabe 8", 1, "2020-10-30", "testid", "00", "Testeingabe");

Bohnenkreation

Hier erstellen wir Bohnen für jede Tabelle. Es werden nur die Felder, Konstruktoren, Getter und Setter beschrieben. Nach der Überprüfung ist das Kopieren in Ordnung

model.entity.TaskBean.java


public class TaskBean {
	/**
	 *Feld
	 */
	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;

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

	/**
	 *Methode
	 */

	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 {
	/**
	 *Feld
	 */
	private String user_id;
	private String password;
	private String user_name;

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

	/**
	 *Methode
	 */
	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 {
	/**
	 *Feld
	 */
	private String status_code;
	private String status_name;

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

	/**
	 *Methode
	 */
	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 {

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

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

	/**
	 *Methode
	 */
	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 {
	/**
	 *Feld
	 */
	private int comment_id;
	private int task_id;
	private String user_id;
	private String comment;
	private Timestamp update_datetime;

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

	/**
	 *Methode
	 */
	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;
	}
}

Verbindung mit der Datenbank

① Fügen Sie JDBC in WebContent-Web-INF-lib des Projekts ein (2) Fügen Sie aus der Build-Pfad-Konfiguration hinzu ③ Erstellen Sie eine verwaltbare Verbindung Die Variablen USER und PASSWORD sind Passwörter und Benutzernamen sind Testbenutzer bzw. Passwort.

model.dao.ConnectionManager.java


public class ConnectionManager {
	//Datenbankinformationen
		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";

		//Verbindungsmethode zur Datenbank
		public static Connection getConnection() throws SQLException, ClassNotFoundException{
			Class.forName("com.mysql.cj.jdbc.Driver");
			return DriverManager.getConnection(URL, USER, PASSWORD);
		}
}

Vorschau beim nächsten Mal

Dieses Mal haben wir die Datenbank erstellt, die Bean erstellt und eine Verbindung zu MySQL hergestellt. Nächstes Mal werde ich eine Anmeldefunktion mit der von mir erstellten Tabelle m_user hinzufügen.

Recommended Posts

Java / Twitter-Klon- / Aufgabenverwaltungssystem (1) Erstellen Sie eine Datenbank
Java / Twitter-Klon- / Aufgabenverwaltungssystem ④ Aufgabenliste anzeigen
Java / Twitter-Klon- / Aufgabenverwaltungssystem ⑥ Löschfunktion hinzufügen
Java / Twitter-Klon- / Aufgabenverwaltungssystem (2) Anmeldefunktion hinzufügen
Java / Twitter-Klon- / Aufgabenverwaltungssystem ⑤ Bearbeitungsfunktion hinzufügen
Java / Twitter-Klon- / Aufgabenverwaltungssystem ③ Aufgabenregistrierungsfunktion hinzufügen
[Java] Erstellen Sie einen Filter
Erstellen Sie eine Java-Methode [Memo] [java11]
[Java] Erstellen Sie eine temporäre Datei
Die Geschichte der Erstellung einer Task-Management-Anwendung mit Swing, Java
Erstellen Sie eine Datenbank in einer Produktionsumgebung
Erstellen Sie ein Java-Projekt mit Eclipse
[Java] Erstellen und Anwenden eines Folienmasters
Lassen Sie uns eine Java-Entwicklungsumgebung erstellen (Aktualisierung)
Erstellen Sie eine TODO-App in Java 7 Create Header
So erstellen Sie überall eine H2-Datenbank
Erstellen Sie eine CSR mit erweiterten Informationen in Java
Erstellen Sie mit Java + MySQL ein einfaches Bulletin Board
[Rails] Rails neu, um eine Datenbank mit PostgreSQL zu erstellen
[Windows] [IntelliJ] [Java] [Tomcat] Erstellen Sie mit IntelliJ eine Umgebung für Tomcat 9
Lassen Sie uns mit Javas Timer einen zeitgesteuerten Prozess erstellen! !!
[Java] Erstellen Sie so etwas wie eine Produktsuch-API
[Android / Java] Betreiben Sie eine lokale Datenbank in Room
Versuchen Sie, ein Bulletin Board in Java zu erstellen
[Java] Erstellen Sie eine Sammlung mit nur einem Element
Lassen Sie uns mit Java ein supereinfaches Webframework erstellen
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [Einführung]
Ich habe versucht, eine LINE-Klon-App zu erstellen
Erstellen Sie Scala Seq aus Java, machen Sie Scala Seq zu einer Java-Liste
[Java] Erstellen wir einen Minecraft Mod 1.16.1 [Einführung]
[Rails] So erstellen Sie eine Twitter-Freigabeschaltfläche
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [99. Mod-Ausgabe]