Demo: Movie Helper
Recently, I improved the performance from 50 to 90.
Back-end project: React-SpringBoot Front-end project: movie-helper-front
# cd React-SpringBoot/
git clone https://github.com/zzh1991/movie-helper-front.git
# add VM options
--add-opens java.base/java.lang.invoke=ALL-UNNAMED
configure your database name (an empty database), user, password in src/main/resources/application.yml
You could use PostgreSQL(default configuration) or MySQL. Also, you could use H2 database.
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/movie?allowPublicKeyRetrieval=true&useConfigs=maxPerformance&useSSL=false&serverTimezone=UTC&characterEncoding=utf8
password: mysql
username: root
initialization-mode: never
flyway:
enabled: true
baseline-on-migrate: true
validate-on-migrate: false
locations: classpath:db/migration/mysql
remove postgres dependency and add mysql dependency in pom.xml
<!-- remove -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
</dependency>
<!-- add -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
cd movie-helper-front
npm install
: install dependency- prepare front static files
- dev mode
npm run dev
- Deploy mode
npm run deploy
- dev mode
- start the web app in IDE
- open browser
dev mode
: go to http://localhost:3000deploy mode
: go to http://localhost:8080
cd movie-helper-front
git fetch origin master
git rebase origin/master
mvn javadoc:javadoc
open
target/site/apidocs/index.html
by browser
- sync recent / top movies
- latest sync time
- search by movie name
- database upgrade
- schedule task
- java doc
- lazy load
- use timestamp with time zone
- Spring Boot 3
- PostgresQL
- Guava
- Swagger
- Flyway
- Prometheus
- GraphQL
- Mybatis
- Mybatis-plus
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
- setting -> compiler -> make project automatically
- ctrl + shift + a -> registry -> auto make enabled
- edit run/debug configuration
- add environment variables: spring.profiles.active=dev
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
</plugin>
mvn versions:display-dependency-updates
mvn versions:use-next-releases
mvn versions:use-latest-releases
firstly should migrate to 4.2.0 and then 5.x
Refer to mybatis/mybatis-3#1644
- copy
LocalDateTimeTypeHandler.java
into project - configure
LocalDateTimeTypeHandler
bean
👤 Zhihao Zhang
- Github: @zzh1991
Please ⭐️ this repository if this project helped you!