Skip to content

Commit b9e137d

Browse files
authored
Add files via upload
1 parent 94b9dbc commit b9e137d

13 files changed

+637
-0
lines changed

README.md

+106
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
Java CRUD with MySQL
2+
======================
3+
4+
Example Java using MySQL
5+
6+
* **CRUD**
7+
* **C** - _CREATE_
8+
* **R** - _READ_
9+
* **U** - _UPDATE_
10+
* **D** - _DELETE_
11+
12+
13+
## MySQL
14+
15+
Download XAMP:
16+
17+
* **MySQL**
18+
* Database;
19+
* Tables;
20+
* Procedures;
21+
* Views;
22+
* _mysql-script:_ [script.sql](scripts/script.sql)
23+
24+
25+
## Model
26+
27+
_Model:_ [Person](src/model/Person.java);
28+
29+
```java
30+
public class Person {
31+
32+
private int id;
33+
private String name;
34+
private Date date;
35+
36+
//Getters and Setters
37+
}
38+
```
39+
See [Getters and Setters](https://github.com/fefong/java_GettersAndSetters);
40+
41+
42+
## Driver JDBC
43+
44+
**Driver MySQL**: [mysql-connector 5.1.15](https://github.com/fefong/java_mysql_crud/raw/master/libs/mysql-connector-java-5.1.15-bin.jar)
45+
46+
## Imports
47+
48+
```java
49+
import java.sql.Connection;
50+
import java.sql.DriverManager;
51+
import java.sql.PreparedStatement;
52+
import java.sql.ResultSet;
53+
import java.sql.Statement;
54+
```
55+
56+
## xxx
57+
58+
```java
59+
Connection cn;
60+
String userDB = "root";
61+
String passwordDB = "";
62+
String databaseDB = "database_test";
63+
64+
```
65+
66+
```java
67+
Class.forName(driver);
68+
cn = DriverManager.getConnection(String url,String user, String password);
69+
```
70+
:warning: _Need add **throws declaration** or **surround with try/catch**;_
71+
72+
73+
74+
## Procedure
75+
76+
```java
77+
CallableStatement cstmt = cn.prepareCall("{ call stp_insert_person (?, ?) }");
78+
79+
cstmt.setString(1, person.getName());
80+
```
81+
82+
:warning: _Need add **throws declaration** or **surround with try/catch**;_
83+
84+
## View
85+
86+
...
87+
88+
## Throws
89+
90+
* _SQLException;_
91+
* _ClassNotFoundException;_
92+
93+
94+
## Project
95+
96+
_Download:_ [Java MySQL - CRUD]()
97+
98+
## Some links for more in depth learning
99+
100+
* [JAVA](https://github.com/search?q=fefong%2Fjava)
101+
* [JAVA PRINT](https://github.com/fefong/java_print);
102+
* [JAVA SWITCH CASE](https://github.com/fefong/java_switch);
103+
* [JAVA IF/ELSE](https://github.com/fefong/java_ifElse);
104+
* [JAVA ARITHMETIC](https://github.com/fefong/java_calculator);
105+
106+

bin/Main.class

4.72 KB
Binary file not shown.

bin/dao/IDAO.class

430 Bytes
Binary file not shown.

bin/dao/PersonDAO.class

4.8 KB
Binary file not shown.

bin/dao/database.class

3.05 KB
Binary file not shown.

bin/model/Person.class

1.39 KB
Binary file not shown.
768 KB
Binary file not shown.

scripts/SCRIPT.sql

+63
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
/* --------------------------------------- Database ---------------------------------------- */
2+
3+
DROP DATABASE IF EXISTS database_test;
4+
CREATE DATABASE database_test;
5+
USE database_test;
6+
7+
/* --------------------------------------- Tables ---------------------------------------- */
8+
9+
CREATE TABLE t_person(
10+
id_person INT(11) NOT NULL AUTO_INCREMENT ,
11+
name_person VARCHAR(80) NOT NULL ,
12+
date_person DATE NOT NULL ,
13+
14+
PRIMARY KEY (id_person)
15+
);
16+
17+
/* --------------------------------------- Procedures ---------------------------------------- */
18+
19+
DELIMITER $$
20+
CREATE PROCEDURE stp_insert_person
21+
(
22+
IN IN_name_person VARCHAR(80) ,
23+
IN IN_date_person DATE
24+
)
25+
BEGIN
26+
INSERT INTO t_person
27+
(name_person, date_person)
28+
VALUES
29+
(IN_name_person, IN_date_person);
30+
END $$
31+
32+
CREATE PROCEDURE stp_update_person
33+
(
34+
IN IN_id_person INT(11) ,
35+
INOUT INOUT_name_person VARCHAR(80) ,
36+
INOUT INOUT_date_person DATE
37+
)
38+
BEGIN
39+
UPDATE t_person
40+
SET
41+
name_person = INOUT_name_person,
42+
date_person = INOUT_date_person
43+
WHERE
44+
id_person = IN_id_person;
45+
END $$
46+
47+
CREATE PROCEDURE stp_delete_person
48+
(
49+
IN IN_id_person INT(11)
50+
)
51+
BEGIN
52+
DELETE FROM t_person
53+
WHERE
54+
id_person = IN_id_person;
55+
END $$
56+
57+
DELIMITER ;
58+
59+
/* --------------------------------------- Views ---------------------------------------- */
60+
61+
CREATE VIEW view_person AS
62+
SELECT id_person, name_person, date_person FROM t_person;
63+

src/Main.java

+168
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
import java.text.ParseException;
2+
import java.text.SimpleDateFormat;
3+
import java.util.Arrays;
4+
import java.util.List;
5+
import java.util.Scanner;
6+
7+
import dao.PersonDAO;
8+
import model.Person;
9+
10+
public class Main {
11+
12+
static PersonDAO personDAO;
13+
static Scanner in;
14+
15+
private static String getMenu() {
16+
StringBuilder sbMenu = new StringBuilder();
17+
18+
sbMenu.append("*---------------- MENU ----------------*\n");
19+
sbMenu.append("| 1 - List |\n");
20+
sbMenu.append("| 1.0 - (Get All) |\n");
21+
sbMenu.append("| 1.1 - (Get List) |\n");
22+
sbMenu.append("| 1.2 - (FindByID) |\n");
23+
sbMenu.append("| 2 - Insert |\n");
24+
sbMenu.append("| 3 - Update |\n");
25+
sbMenu.append("| 4 - Delete |\n");
26+
sbMenu.append("*--------------------------------------*\n");
27+
sbMenu.append("Enter [1-4]: ");
28+
29+
return sbMenu.toString();
30+
}
31+
32+
public static void main(String[] args) {
33+
34+
in = new Scanner(System.in);
35+
36+
double choice = -1;
37+
while (choice < 1 || choice > 4) {
38+
39+
System.out.print(getMenu());
40+
choice = Double.parseDouble(in.next());
41+
if (choice < 1 || choice > 4) {
42+
System.out.println("\n> Invalid choice. <");
43+
}
44+
45+
46+
47+
if (choice == 1.0) {
48+
System.out.println("------- List [Get All] -------");
49+
listAll();
50+
51+
} else if (choice == 1.1) {
52+
System.out.println("------- List [Get List] -------");
53+
listPerson();
54+
55+
} else if (choice == 1.2) {
56+
System.out.println("------- List [FindByID] -------");
57+
listById();
58+
59+
} else if (choice == 2) {
60+
System.out.println("------- Insert -------");
61+
insertPerson();
62+
63+
} else if (choice == 3) {
64+
System.out.println("------- Update -------");
65+
updatePerson();
66+
67+
} else if (choice == 4) {
68+
System.out.println("------- Delete -------");
69+
deletePerson();
70+
71+
}
72+
choice = -1;
73+
System.out.println("\n");
74+
}
75+
76+
}
77+
78+
private static void deletePerson() {
79+
System.out.println("Enter ID: ");
80+
int id = in.nextInt();
81+
82+
personDAO = new PersonDAO();
83+
personDAO.delete(id);
84+
85+
}
86+
87+
private static void updatePerson() {
88+
89+
Person person = new Person();
90+
91+
System.out.print("Enter ID registered: ");
92+
int id = in.nextInt();
93+
System.out.print("Enter [Update] Person Name: ");
94+
person.setName(in.next());
95+
96+
System.out.print("Enter [Update] Person Date[yyyy-mm-dd]: ");
97+
try {
98+
person.setDate(new SimpleDateFormat("yyyy-MM-dd").parse(in.next()));
99+
100+
} catch (ParseException e) {
101+
System.out.println("Invalid date");
102+
}
103+
104+
personDAO = new PersonDAO();
105+
personDAO.update(id, person);
106+
107+
}
108+
109+
private static void insertPerson() {
110+
111+
Person person = new Person();
112+
113+
System.out.print("Person Name: ");
114+
person.setName(in.next());
115+
116+
System.out.print("Person Date [yyyy-mm-dd]: ");
117+
try {
118+
person.setDate(new SimpleDateFormat("yyyy-MM-dd").parse(in.next()));
119+
120+
} catch (ParseException e) {
121+
System.out.println("Invalid date");
122+
}
123+
124+
personDAO = new PersonDAO();
125+
personDAO.insert(person);
126+
}
127+
128+
private static void listPerson() {
129+
130+
System.out.print("Enter list size: ");
131+
int size = in.nextInt();
132+
133+
int[] listIds = new int[size];
134+
135+
for (int i = 0; i < size; i++) {
136+
System.out.print(String.format("Enter ID[%d]: ", i));
137+
listIds[i] = in.nextInt();
138+
}
139+
System.out.println("IDs: " + Arrays.toString(listIds));
140+
141+
personDAO = new PersonDAO();
142+
List<Person> persons = personDAO.list(listIds);
143+
144+
System.out.println(persons);
145+
}
146+
147+
private static void listById() {
148+
System.out.print("Find by ID: ");
149+
int id = in.nextInt();
150+
151+
personDAO = new PersonDAO();
152+
Person person = personDAO.findById(id);
153+
if (person != null) {
154+
System.out.println(person);
155+
} else {
156+
System.out.println(String.format("No person found with id[%s].", id));
157+
}
158+
159+
}
160+
161+
private static void listAll() {
162+
personDAO = new PersonDAO();
163+
List<Person> persons = personDAO.getAll();
164+
165+
System.out.println(persons);
166+
}
167+
168+
}

src/dao/IDAO.java

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package dao;
2+
3+
import java.util.List;
4+
5+
import model.Person;
6+
7+
public interface IDAO {
8+
9+
public Person insert(Person person);
10+
11+
public Person update(int id, Person personUpdated);
12+
13+
public Person delete(int id);
14+
15+
public List<Person> getAll();
16+
17+
public List<Person> list(int[] listPerson);
18+
19+
public Person findById(int id);
20+
}

0 commit comments

Comments
 (0)