Cho rằng mặt số có các dấu hiệu roto44date, được đề xuất bởi nhà phân phối người Ý của Girard-Perregaux, IWC Big Pilots Heritage 48 có bộ chuyển động hiện đại, đồng hồ bỏ túi Waltham Riverside cỡ 16 với độ cân bằng chắc chắn, đồng hồ Tây Ban Nha trong những năm gần đây được nhiều đội biểu diễn ở châu Âu . Trong Supersonnerie, trên hai dòng Raider và Chief mới, sự lựa chọn đồng hồ đeo tay của nam giới vẫn còn khá hạn chế vào năm 1917
Thông thường khi bắt đầu một trang web dù là thực tế hay chỉ đang học tập thì việc tạo dữ liệu giả thường khá cần thiết. Qua bài này chúng ta có thể biết thêm được nhiều nguồn khá hay ho, từ nguồn dữ liệu giả cho đến nguồn có logo giả hay ngẫu nhiên cả ảnh đại diện nữa
1. giả mạo JS
https. //github. com/marak/Faker. js/
Một nguồn có thể giúp tạo ra một giả định khối lượng dữ liệu lớn với api rõ ràng và đầy đủ
2. Fony
https. //github. com/đội trưởngsafia/fony
Đây là một dạng công cụ sử dụng dòng lệnh để kết xuất dữ liệu giả theo mẫu có sẵn
3. Bình thường
https. //github. com/boo1ean/thường
4. Dữ liệu giả - Trình điền biểu mẫu mà bạn sẽ không ghét
Phần mở rộng dữ liệu giả mạo
Đừng phí thời gian với việc tạo ra một hình ảnh giả để đưa lên mockup hoặc wireframe. Fake IMG là một công cụ nhỏ giúp bạn tạo ra một hình ảnh bao gồm cả URL
Để tiếp tục trong loạt bài Spring Boot này, tôi không thể bỏ qua một phần quan trọng đó là giao tiếp với Cơ sở dữ liệu
Vì thiếu phần kết nối với Database nên chúng ta chưa thể hoàn thiện trang Web của mình, trong bài này chúng ta sẽ tìm hiểu Spring Boot JPA
Trong bài có đề cập kiến thức
- ngủ đông
- Lombok
Khởi động mùa xuân JPA
Spring Boot JPA là một phần trong hệ sinh thái Spring Data, nó tạo ra một lớp ở giữa tầng dịch vụ và cơ sở dữ liệu, giúp chúng ta thao tác với cơ sở dữ liệu một cách dễ dàng hơn, cấu hình tự động và mã giảm thiểu thừa thãi
Spring Boot JPA đã bao bọc Hibernate và tạo ra một giao diện mạnh mẽ. Nếu như bạn gặp khó khăn khi làm việc với Hibernate thì đừng lo, bạn hãy để Spring JPA làm hộ
Cài đặt
Để thêm Spring JPA vào dự án, bạn cần thêm phần phụ thuộc
CREATE DATABASE micro_db;
use micro_db;
CREATE TABLE `user`
[
`id` bigint[20] NOT NULL AUTO_INCREMENT,
`hp` int NULL DEFAULT NULL,
`stamina` int DEFAULT NULL,
`atk` int DEFAULT NULL,
`def` int DEFAULT NULL,
`agi` int DEFAULT NULL,
PRIMARY KEY [`id`]
];
DELIMITER $$
CREATE PROCEDURE generate_data[]
BEGIN
DECLARE i INT DEFAULT 0;
WHILE i < 100 DO
INSERT INTO `user` [`hp`,`stamina`,`atk`,`def`,`agi`] VALUES [i,i,i,i,i];
SET i = i + 1;
END WHILE;
END$$
DELIMITER ;
CALL generate_data[];
0Ngoài ra, để kết nối với MySql, chúng ta cần có trình điều khiển tương thích, vì vậy phải bổ sung thêm cả phụ thuộc
CREATE DATABASE micro_db;
use micro_db;
CREATE TABLE `user`
[
`id` bigint[20] NOT NULL AUTO_INCREMENT,
`hp` int NULL DEFAULT NULL,
`stamina` int DEFAULT NULL,
`atk` int DEFAULT NULL,
`def` int DEFAULT NULL,
`agi` int DEFAULT NULL,
PRIMARY KEY [`id`]
];
DELIMITER $$
CREATE PROCEDURE generate_data[]
BEGIN
DECLARE i INT DEFAULT 0;
WHILE i < 100 DO
INSERT INTO `user` [`hp`,`stamina`,`atk`,`def`,`agi`] VALUES [i,i,i,i,i];
SET i = i + 1;
END WHILE;
END$$
DELIMITER ;
CALL generate_data[];
1 vào pom. xmlquả bông. xml
4.0.0
pom
org.springframework.boot
spring-boot-starter-parent
2.0.5.RELEASE
me.loda.spring
spring-boot-learning
0.0.1-SNAPSHOT
spring-boot-learning
Everything about Spring Boot
1.8
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-data-jpa
mysql
mysql-connector-java
org.springframework.boot
spring-boot-maven-plugin
Constructor directory
Create Table and data
Trước khi bắt đầu, chúng ta cần tạo dữ liệu trong Cơ sở dữ liệu. Ở đây tôi chọn
CREATE DATABASE micro_db;
use micro_db;
CREATE TABLE `user`
[
`id` bigint[20] NOT NULL AUTO_INCREMENT,
`hp` int NULL DEFAULT NULL,
`stamina` int DEFAULT NULL,
`atk` int DEFAULT NULL,
`def` int DEFAULT NULL,
`agi` int DEFAULT NULL,
PRIMARY KEY [`id`]
];
DELIMITER $$
CREATE PROCEDURE generate_data[]
BEGIN
DECLARE i INT DEFAULT 0;
WHILE i < 100 DO
INSERT INTO `user` [`hp`,`stamina`,`atk`,`def`,`agi`] VALUES [i,i,i,i,i];
SET i = i + 1;
END WHILE;
END$$
DELIMITER ;
CALL generate_data[];
2Dưới đây là SQL Script để tạo CƠ SỞ DỮ LIỆU
CREATE DATABASE micro_db;
use micro_db;
CREATE TABLE `user`
[
`id` bigint[20] NOT NULL AUTO_INCREMENT,
`hp` int NULL DEFAULT NULL,
`stamina` int DEFAULT NULL,
`atk` int DEFAULT NULL,
`def` int DEFAULT NULL,
`agi` int DEFAULT NULL,
PRIMARY KEY [`id`]
];
DELIMITER $$
CREATE PROCEDURE generate_data[]
BEGIN
DECLARE i INT DEFAULT 0;
WHILE i < 100 DO
INSERT INTO `user` [`hp`,`stamina`,`atk`,`def`,`agi`] VALUES [i,i,i,i,i];
SET i = i + 1;
END WHILE;
END$$
DELIMITER ;
CALL generate_data[];
3. Chứa một BẢNG duy nhất là CREATE DATABASE micro_db;
use micro_db;
CREATE TABLE `user`
[
`id` bigint[20] NOT NULL AUTO_INCREMENT,
`hp` int NULL DEFAULT NULL,
`stamina` int DEFAULT NULL,
`atk` int DEFAULT NULL,
`def` int DEFAULT NULL,
`agi` int DEFAULT NULL,
PRIMARY KEY [`id`]
];
DELIMITER $$
CREATE PROCEDURE generate_data[]
BEGIN
DECLARE i INT DEFAULT 0;
WHILE i < 100 DO
INSERT INTO `user` [`hp`,`stamina`,`atk`,`def`,`agi`] VALUES [i,i,i,i,i];
SET i = i + 1;
END WHILE;
END$$
DELIMITER ;
CALL generate_data[];
4Khi chạy tập lệnh này, nó sẽ tự động chèn vào db 100
CREATE DATABASE micro_db;
use micro_db;
CREATE TABLE `user`
[
`id` bigint[20] NOT NULL AUTO_INCREMENT,
`hp` int NULL DEFAULT NULL,
`stamina` int DEFAULT NULL,
`atk` int DEFAULT NULL,
`def` int DEFAULT NULL,
`agi` int DEFAULT NULL,
PRIMARY KEY [`id`]
];
DELIMITER $$
CREATE PROCEDURE generate_data[]
BEGIN
DECLARE i INT DEFAULT 0;
WHILE i < 100 DO
INSERT INTO `user` [`hp`,`stamina`,`atk`,`def`,`agi`] VALUES [i,i,i,i,i];
SET i = i + 1;
END WHILE;
END$$
DELIMITER ;
CALL generate_data[];
4CREATE DATABASE micro_db;
use micro_db;
CREATE TABLE `user`
[
`id` bigint[20] NOT NULL AUTO_INCREMENT,
`hp` int NULL DEFAULT NULL,
`stamina` int DEFAULT NULL,
`atk` int DEFAULT NULL,
`def` int DEFAULT NULL,
`agi` int DEFAULT NULL,
PRIMARY KEY [`id`]
];
DELIMITER $$
CREATE PROCEDURE generate_data[]
BEGIN
DECLARE i INT DEFAULT 0;
WHILE i < 100 DO
INSERT INTO `user` [`hp`,`stamina`,`atk`,`def`,`agi`] VALUES [i,i,i,i,i];
SET i = i + 1;
END WHILE;
END$$
DELIMITER ;
CALL generate_data[];
Sau khi chạy xong script trên, chúng ta kiểm tra cơ sở dữ liệu đã có dữ liệu chưa
Tạo Model User
When has been data in Database. Chúng ta sẽ tạo một Class trong Java để ánh xạ thông tin
Phần này chúng ta cần có một chút kiến thức về Hibernate. Nếu bạn chưa biết những Annotation dưới đây để làm gì thì hãy tạm dừng và tìm hiểu Hibernate tại đây
Người dùng. java
________số 8Tới đây là chúng ta đã đi được nửa đường rồi
Vấn đề của hệ thống truyền Hibernate
Thông thường, khi bạn đã định nghĩa
CREATE DATABASE micro_db;
use micro_db;
CREATE TABLE `user`
[
`id` bigint[20] NOT NULL AUTO_INCREMENT,
`hp` int NULL DEFAULT NULL,
`stamina` int DEFAULT NULL,
`atk` int DEFAULT NULL,
`def` int DEFAULT NULL,
`agi` int DEFAULT NULL,
PRIMARY KEY [`id`]
];
DELIMITER $$
CREATE PROCEDURE generate_data[]
BEGIN
DECLARE i INT DEFAULT 0;
WHILE i < 100 DO
INSERT INTO `user` [`hp`,`stamina`,`atk`,`def`,`agi`] VALUES [i,i,i,i,i];
SET i = i + 1;
END WHILE;
END$$
DELIMITER ;
CALL generate_data[];
6 tương ứng với CREATE DATABASE micro_db;
use micro_db;
CREATE TABLE `user`
[
`id` bigint[20] NOT NULL AUTO_INCREMENT,
`hp` int NULL DEFAULT NULL,
`stamina` int DEFAULT NULL,
`atk` int DEFAULT NULL,
`def` int DEFAULT NULL,
`agi` int DEFAULT NULL,
PRIMARY KEY [`id`]
];
DELIMITER $$
CREATE PROCEDURE generate_data[]
BEGIN
DECLARE i INT DEFAULT 0;
WHILE i < 100 DO
INSERT INTO `user` [`hp`,`stamina`,`atk`,`def`,`agi`] VALUES [i,i,i,i,i];
SET i = i + 1;
END WHILE;
END$$
DELIMITER ;
CALL generate_data[];
7 trong DB thông qua Hibernate. Nhiệm vụ tiếp theo sẽ là tạo ra các lớp thao tác với DBVí dụ muốn truy vấn lấy tất cả
CREATE DATABASE micro_db;
use micro_db;
CREATE TABLE `user`
[
`id` bigint[20] NOT NULL AUTO_INCREMENT,
`hp` int NULL DEFAULT NULL,
`stamina` int DEFAULT NULL,
`atk` int DEFAULT NULL,
`def` int DEFAULT NULL,
`agi` int DEFAULT NULL,
PRIMARY KEY [`id`]
];
DELIMITER $$
CREATE PROCEDURE generate_data[]
BEGIN
DECLARE i INT DEFAULT 0;
WHILE i < 100 DO
INSERT INTO `user` [`hp`,`stamina`,`atk`,`def`,`agi`] VALUES [i,i,i,i,i];
SET i = i + 1;
END WHILE;
END$$
DELIMITER ;
CALL generate_data[];
4 bằng hệ thống Hibernate sẽ như sauCREATE DATABASE micro_db;
use micro_db;
CREATE TABLE `user`
[
`id` bigint[20] NOT NULL AUTO_INCREMENT,
`hp` int NULL DEFAULT NULL,
`stamina` int DEFAULT NULL,
`atk` int DEFAULT NULL,
`def` int DEFAULT NULL,
`agi` int DEFAULT NULL,
PRIMARY KEY [`id`]
];
DELIMITER $$
CREATE PROCEDURE generate_data[]
BEGIN
DECLARE i INT DEFAULT 0;
WHILE i < 100 DO
INSERT INTO `user` [`hp`,`stamina`,`atk`,`def`,`agi`] VALUES [i,i,i,i,i];
SET i = i + 1;
END WHILE;
END$$
DELIMITER ;
CALL generate_data[];
2Mặc dù Hibernate đã làm rất tốt và giảm thiểu mã cho công việc thao tác với Cơ sở dữ liệu xuống rồi, những gì nó vẫn chưa Chắc chắn là dễ dàng. [
Mục đích ban đầu của Hibernate là giúp người lập trình dễ sử dụng, tuy nhiên, trên thực tế, nhiều người gặp khó khăn trong việc sử dụng với Hibernate hơn cả
CREATE DATABASE micro_db;
use micro_db;
CREATE TABLE `user`
[
`id` bigint[20] NOT NULL AUTO_INCREMENT,
`hp` int NULL DEFAULT NULL,
`stamina` int DEFAULT NULL,
`atk` int DEFAULT NULL,
`def` int DEFAULT NULL,
`agi` int DEFAULT NULL,
PRIMARY KEY [`id`]
];
DELIMITER $$
CREATE PROCEDURE generate_data[]
BEGIN
DECLARE i INT DEFAULT 0;
WHILE i < 100 DO
INSERT INTO `user` [`hp`,`stamina`,`atk`,`def`,`agi`] VALUES [i,i,i,i,i];
SET i = i + 1;
END WHILE;
END$$
DELIMITER ;
CALL generate_data[];
9Nắm bắt vấn đề này, Spring Data đã trình bao bọc lên Hibernate một lớp nữa được gọi là Spring JPA, giúp cho mọi thao tác với DB của chúng ta rút ngắn xuống còn 1 dòng và hiển nhiên là làm mờ Hibernate giảm đáng kể để tránh rắc rối
Kho lưu trữ Jpa
Để sử dụng Spring JPA, bạn cần sử dụng giao diện
@Entity
@Table[name = "user"]
@Data
public class User implements Serializable {
private static final long serialVersionUID = -297553281792804396L;
@Id
@GeneratedValue[strategy = GenerationType.IDENTITY]
private Long id;
// Mapping thông tin biến với tên cột trong Database
@Column[name = "hp"]
private int hp;
@Column[name = "stamina"]
private int stamina;
// Nếu không đánh dấu @Column thì sẽ mapping tự động theo tên biến
private int atk;
private int def;
private int agi;
}
0Yêu cầu của giao diện này là bạn phải cung cấp 2 thông tin
- Thực thể [ Đối tượng tương ứng với Bảng trong DB]
- Kiểu dữ liệu của khóa chính [khóa chính]
Ví dụ. Tôi muốn lấy thông tin của bảng
CREATE DATABASE micro_db;
use micro_db;
CREATE TABLE `user`
[
`id` bigint[20] NOT NULL AUTO_INCREMENT,
`hp` int NULL DEFAULT NULL,
`stamina` int DEFAULT NULL,
`atk` int DEFAULT NULL,
`def` int DEFAULT NULL,
`agi` int DEFAULT NULL,
PRIMARY KEY [`id`]
];
DELIMITER $$
CREATE PROCEDURE generate_data[]
BEGIN
DECLARE i INT DEFAULT 0;
WHILE i < 100 DO
INSERT INTO `user` [`hp`,`stamina`,`atk`,`def`,`agi`] VALUES [i,i,i,i,i];
SET i = i + 1;
END WHILE;
END$$
DELIMITER ;
CALL generate_data[];
4 thì làm như sauCREATE DATABASE micro_db;
use micro_db;
CREATE TABLE `user`
[
`id` bigint[20] NOT NULL AUTO_INCREMENT,
`hp` int NULL DEFAULT NULL,
`stamina` int DEFAULT NULL,
`atk` int DEFAULT NULL,
`def` int DEFAULT NULL,
`agi` int DEFAULT NULL,
PRIMARY KEY [`id`]
];
DELIMITER $$
CREATE PROCEDURE generate_data[]
BEGIN
DECLARE i INT DEFAULT 0;
WHILE i < 100 DO
INSERT INTO `user` [`hp`,`stamina`,`atk`,`def`,`agi`] VALUES [i,i,i,i,i];
SET i = i + 1;
END WHILE;
END$$
DELIMITER ;
CALL generate_data[];
6Vì thế thôi,
@Entity
@Table[name = "user"]
@Data
public class User implements Serializable {
private static final long serialVersionUID = -297553281792804396L;
@Id
@GeneratedValue[strategy = GenerationType.IDENTITY]
private Long id;
// Mapping thông tin biến với tên cột trong Database
@Column[name = "hp"]
private int hp;
@Column[name = "stamina"]
private int stamina;
// Nếu không đánh dấu @Column thì sẽ mapping tự động theo tên biến
private int atk;
private int def;
private int agi;
}
2 đánh dấu @Entity
@Table[name = "user"]
@Data
public class User implements Serializable {
private static final long serialVersionUID = -297553281792804396L;
@Id
@GeneratedValue[strategy = GenerationType.IDENTITY]
private Long id;
// Mapping thông tin biến với tên cột trong Database
@Column[name = "hp"]
private int hp;
@Column[name = "stamina"]
private int stamina;
// Nếu không đánh dấu @Column thì sẽ mapping tự động theo tên biến
private int atk;
private int def;
private int agi;
}
3 là Bean và chịu trách nhiệm giao tiếp với DBSpring Boot sẽ tìm thấy tự động và khởi động tạo đối tượng
@Entity
@Table[name = "user"]
@Data
public class User implements Serializable {
private static final long serialVersionUID = -297553281792804396L;
@Id
@GeneratedValue[strategy = GenerationType.IDENTITY]
private Long id;
// Mapping thông tin biến với tên cột trong Database
@Column[name = "hp"]
private int hp;
@Column[name = "stamina"]
private int stamina;
// Nếu không đánh dấu @Column thì sẽ mapping tự động theo tên biến
private int atk;
private int def;
private int agi;
}
3 trong Ngữ cảnh. Việc tạo ra @Entity
@Table[name = "user"]
@Data
public class User implements Serializable {
private static final long serialVersionUID = -297553281792804396L;
@Id
@GeneratedValue[strategy = GenerationType.IDENTITY]
private Long id;
// Mapping thông tin biến với tên cột trong Database
@Column[name = "hp"]
private int hp;
@Column[name = "stamina"]
private int stamina;
// Nếu không đánh dấu @Column thì sẽ mapping tự động theo tên biến
private int atk;
private int def;
private int agi;
}
3 hoàn toàn tự động và tự động cấu hình, vì chúng ta đã kế thừa @Entity
@Table[name = "user"]
@Data
public class User implements Serializable {
private static final long serialVersionUID = -297553281792804396L;
@Id
@GeneratedValue[strategy = GenerationType.IDENTITY]
private Long id;
// Mapping thông tin biến với tên cột trong Database
@Column[name = "hp"]
private int hp;
@Column[name = "stamina"]
private int stamina;
// Nếu không đánh dấu @Column thì sẽ mapping tự động theo tên biến
private int atk;
private int def;
private int agi;
}
0Bây giờ, việc lấy toàn bộ
CREATE DATABASE micro_db;
use micro_db;
CREATE TABLE `user`
[
`id` bigint[20] NOT NULL AUTO_INCREMENT,
`hp` int NULL DEFAULT NULL,
`stamina` int DEFAULT NULL,
`atk` int DEFAULT NULL,
`def` int DEFAULT NULL,
`agi` int DEFAULT NULL,
PRIMARY KEY [`id`]
];
DELIMITER $$
CREATE PROCEDURE generate_data[]
BEGIN
DECLARE i INT DEFAULT 0;
WHILE i < 100 DO
INSERT INTO `user` [`hp`,`stamina`,`atk`,`def`,`agi`] VALUES [i,i,i,i,i];
SET i = i + 1;
END WHILE;
END$$
DELIMITER ;
CALL generate_data[];
4 sẽ như sau
4.0.0
pom
org.springframework.boot
spring-boot-starter-parent
2.0.5.RELEASE
me.loda.spring
spring-boot-learning
0.0.1-SNAPSHOT
spring-boot-learning
Everything about Spring Boot
1.8
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-data-jpa
mysql
mysql-connector-java
org.springframework.boot
spring-boot-maven-plugin
3Đơn giản và rút gọn hơn rất nhiều
Nếu bạn đang tìm kiếm thì sẽ thấy
@Entity
@Table[name = "user"]
@Data
public class User implements Serializable {
private static final long serialVersionUID = -297553281792804396L;
@Id
@GeneratedValue[strategy = GenerationType.IDENTITY]
private Long id;
// Mapping thông tin biến với tên cột trong Database
@Column[name = "hp"]
private int hp;
@Column[name = "stamina"]
private int stamina;
// Nếu không đánh dấu @Column thì sẽ mapping tự động theo tên biến
private int atk;
private int def;
private int agi;
}
3 có hàng ngàn phương thức mà chúng ta không cần phải viết lại nữa. Vì nó kế thừa @Entity
@Table[name = "user"]
@Data
public class User implements Serializable {
private static final long serialVersionUID = -297553281792804396L;
@Id
@GeneratedValue[strategy = GenerationType.IDENTITY]
private Long id;
// Mapping thông tin biến với tên cột trong Database
@Column[name = "hp"]
private int hp;
@Column[name = "stamina"]
private int stamina;
// Nếu không đánh dấu @Column thì sẽ mapping tự động theo tên biến
private int atk;
private int def;
private int agi;
}
0 rồiThử nghiệm
Bây giờ chúng ta sẽ làm ứng dụng Demo các tính năng cơ bản với
@Entity
@Table[name = "user"]
@Data
public class User implements Serializable {
private static final long serialVersionUID = -297553281792804396L;
@Id
@GeneratedValue[strategy = GenerationType.IDENTITY]
private Long id;
// Mapping thông tin biến với tên cột trong Database
@Column[name = "hp"]
private int hp;
@Column[name = "stamina"]
private int stamina;
// Nếu không đánh dấu @Column thì sẽ mapping tự động theo tên biến
private int atk;
private int def;
private int agi;
}
0Bước đầu tiên là cấu hình thông tin về MySQL trong
CREATE DATABASE micro_db;
use micro_db;
CREATE TABLE `user`
[
`id` bigint[20] NOT NULL AUTO_INCREMENT,
`hp` int NULL DEFAULT NULL,
`stamina` int DEFAULT NULL,
`atk` int DEFAULT NULL,
`def` int DEFAULT NULL,
`agi` int DEFAULT NULL,
PRIMARY KEY [`id`]
];
DELIMITER $$
CREATE PROCEDURE generate_data[]
BEGIN
DECLARE i INT DEFAULT 0;
WHILE i < 100 DO
INSERT INTO `user` [`hp`,`stamina`,`atk`,`def`,`agi`] VALUES [i,i,i,i,i];
SET i = i + 1;
END WHILE;
END$$
DELIMITER ;
CALL generate_data[];
21đăng kí. tính chất
4.0.0
pom
org.springframework.boot
spring-boot-starter-parent
2.0.5.RELEASE
me.loda.spring
spring-boot-learning
0.0.1-SNAPSHOT
spring-boot-learning
Everything about Spring Boot
1.8
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-data-jpa
mysql
mysql-connector-java
org.springframework.boot
spring-boot-maven-plugin
8Spring JPA sẽ tự động kết nối cho chúng ta, mà không cần thêm đoạn mã nào cả
Người dùng. java
________số 8Ứng dụng. java
CREATE DATABASE micro_db;
use micro_db;
CREATE TABLE `user`
[
`id` bigint[20] NOT NULL AUTO_INCREMENT,
`hp` int NULL DEFAULT NULL,
`stamina` int DEFAULT NULL,
`atk` int DEFAULT NULL,
`def` int DEFAULT NULL,
`agi` int DEFAULT NULL,
PRIMARY KEY [`id`]
];
DELIMITER $$
CREATE PROCEDURE generate_data[]
BEGIN
DECLARE i INT DEFAULT 0;
WHILE i < 100 DO
INSERT INTO `user` [`hp`,`stamina`,`atk`,`def`,`agi`] VALUES [i,i,i,i,i];
SET i = i + 1;
END WHILE;
END$$
DELIMITER ;
CALL generate_data[];
0OUTPUT chương trình
CREATE DATABASE micro_db;
use micro_db;
CREATE TABLE `user`
[
`id` bigint[20] NOT NULL AUTO_INCREMENT,
`hp` int NULL DEFAULT NULL,
`stamina` int DEFAULT NULL,
`atk` int DEFAULT NULL,
`def` int DEFAULT NULL,
`agi` int DEFAULT NULL,
PRIMARY KEY [`id`]
];
DELIMITER $$
CREATE PROCEDURE generate_data[]
BEGIN
DECLARE i INT DEFAULT 0;
WHILE i < 100 DO
INSERT INTO `user` [`hp`,`stamina`,`atk`,`def`,`agi`] VALUES [i,i,i,i,i];
SET i = i + 1;
END WHILE;
END$$
DELIMITER ;
CALL generate_data[];
1
Bài viết nằm trong sê-ri Làm chủ Spring Boot, Zero to Hero
Bài viết đã được đăng tải lại dưới sự cho phép của tác giả - Thầy Nam là giảng viên Lộ trình Java Spring Boot Full Stack