Skip to content

Commit e84654a

Browse files
committed
Updated MyBatis example
1 parent dabe6da commit e84654a

File tree

9 files changed

+38
-27
lines changed

9 files changed

+38
-27
lines changed

spring-boot-jpa/pom.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>org.springframework.boot</groupId>
66
<artifactId>spring-boot-starter-parent</artifactId>
7-
<version>2.6.6</version>
7+
<version>3.1.5</version>
88
<relativePath /> <!-- lookup parent from repository -->
99
</parent>
1010
<groupId>com.example</groupId>
@@ -13,7 +13,7 @@
1313
<name>spring-boot-jpa</name>
1414
<description>Demo project for Spring Boot</description>
1515
<properties>
16-
<java.version>17</java.version>
16+
<java.version>21</java.version>
1717
</properties>
1818
<dependencies>
1919
<dependency>

spring-boot-jpa/src/main/java/com/example/Application.java

+5
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,16 @@ public Application(ProgrammingLanguageRepository repository) {
2424
@Bean
2525
public ApplicationRunner applicationRunner() {
2626
return args -> {
27+
deleteProgrammingLanguages();
2728
createProgrammingLanguages();
2829
printTopProgrammingLanguages();
2930
};
3031
}
3132

33+
private void deleteProgrammingLanguages() {
34+
repository.deleteAll();
35+
}
36+
3237
private void createProgrammingLanguages() {
3338
Arrays.stream("Java,C++,C#,JavaScript,Rust,Go,Python,PHP".split(","))
3439
.map(name -> new ProgrammingLanguage(name, (int) (Math.random() * 10)))

spring-boot-jpa/src/main/java/com/example/ProgrammingLanguage.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import java.util.Objects;
44

5-
import javax.persistence.*;
5+
import jakarta.persistence.*;
66

77
@Entity
88
@Table(name = "programming_language")
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MariaDBDialect
2-
spring.datasource.url=jdbc:mariadb://localhost:3306/spring_demo?createDatabaseIfNotExist=true
2+
spring.datasource.url=jdbc:mariadb://127.0.0.1:3306/demo
33
spring.datasource.username=user
4-
spring.datasource.password=password
5-
spring.jpa.hibernate.ddl-auto=update
4+
spring.datasource.password=Password123!
5+
spring.jpa.hibernate.ddl-auto=none
66
spring.jpa.show-sql=true
77

88
# If you are using MariaDB SkySQL (https://mariadb.com/products/skysql),
99
# enable SSL and specify the path to the CA chain file that you can download
1010
# from the SkySQL Portal (https://cloud.mariadb.com):
1111
#
12-
# jdbc:mariadb://demo-db0000xxxx.mdb000xxxx.db.skysql.net:5047/spring_demo?sslMode=verify-ca&serverSslCert=/path/to/your/skysql_chain.pem
12+
# jdbc:mariadb://demo-db0000xxxx.mdb000xxxx.db.skysql.net:5047/demo?sslMode=verify-ca&serverSslCert=/path/to/your/skysql_chain.pem

spring-boot-mybatis/pom.xml

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>org.springframework.boot</groupId>
66
<artifactId>spring-boot-starter-parent</artifactId>
7-
<version>2.6.6</version>
7+
<version>3.1.5</version>
88
<relativePath /> <!-- lookup parent from repository -->
99
</parent>
1010
<groupId>com.example</groupId>
@@ -13,13 +13,13 @@
1313
<name>spring-boot-mybatis</name>
1414
<description>Demo project for Spring Boot</description>
1515
<properties>
16-
<java.version>17</java.version>
16+
<java.version>21</java.version>
1717
</properties>
1818
<dependencies>
1919
<dependency>
2020
<groupId>org.mybatis.spring.boot</groupId>
2121
<artifactId>mybatis-spring-boot-starter</artifactId>
22-
<version>2.2.2</version>
22+
<version>3.0.2</version>
2323
</dependency>
2424

2525
<dependency>

spring-boot-mybatis/src/main/java/com/example/Application.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ private void printTopProgrammingLanguages(int rating) {
4646

4747
List<ProgrammingLanguage> programmingLanguages = programmingLanguageMapper.findTopProgrammingLanguages(5);
4848
programmingLanguages.stream()
49-
.map(pl -> pl.getName() + ": " + pl.getRating())
49+
.map(pl -> pl.getPlName() + ": " + pl.getPlRating())
5050
.forEach(System.out::println);
5151
}
5252

spring-boot-mybatis/src/main/java/com/example/ProgrammingLanguage.java

+10-10
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,24 @@
22

33
public class ProgrammingLanguage {
44

5-
private String name;
5+
private String plName;
66

7-
private Integer rating;
7+
private Integer plRating;
88

9-
public String getName() {
10-
return this.name;
9+
public String getPlName() {
10+
return this.plName;
1111
}
1212

13-
public void setName(String name) {
14-
this.name = name;
13+
public void setPlName(String plName) {
14+
this.plName = plName;
1515
}
1616

17-
public Integer getRating() {
18-
return this.rating;
17+
public Integer getPlRating() {
18+
return this.plRating;
1919
}
2020

21-
public void setRating(Integer rating) {
22-
this.rating = rating;
21+
public void setPlRating(Integer plRating) {
22+
this.plRating = plRating;
2323
}
2424

2525
}

spring-boot-mybatis/src/main/java/com/example/ProgrammingLanguageMapper.java

+9-3
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
import org.apache.ibatis.annotations.Insert;
77
import org.apache.ibatis.annotations.Mapper;
88
import org.apache.ibatis.annotations.Param;
9+
import org.apache.ibatis.annotations.Result;
10+
import org.apache.ibatis.annotations.Results;
911
import org.apache.ibatis.annotations.Select;
1012

1113
@Mapper
@@ -17,16 +19,20 @@ public interface ProgrammingLanguageMapper {
1719
void deleteAll();
1820

1921
@Insert("""
20-
INSERT INTO programming_language(name, rating)
22+
INSERT INTO programming_language(pl_name, pl_rating)
2123
VALUES(#{name}, #{rating})
2224
""")
2325
void insert(@Param("name") String name, @Param("rating") Integer rating);
2426

2527
@Select("""
26-
SELECT name, rating
28+
SELECT pl_name, pl_rating
2729
FROM programming_language
28-
WHERE rating > #{rating}
30+
WHERE pl_rating > #{rating}
2931
""")
32+
@Results(id="plResult", value={
33+
@Result(property="plName", column = "pl_name"),
34+
@Result(property="plRating", column = "pl_rating")
35+
})
3036
List<ProgrammingLanguage> findTopProgrammingLanguages(@Param("rating") int rating);
3137

3238
}
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
spring.datasource.url=jdbc:mariadb://localhost:3306/mybatis_demo
1+
spring.datasource.url=jdbc:mariadb://localhost:3306/demo
22
spring.datasource.username=user
3-
spring.datasource.password=password
3+
spring.datasource.password=Password123!
44

55
# If you are using MariaDB SkySQL (https://mariadb.com/products/skysql),
66
# enable SSL and specify the path to the CA chain file that you can download
77
# from the SkySQL Portal (https://cloud.mariadb.com):
88
#
9-
# jdbc:mariadb://demo-db0000xxxx.mdb000xxxx.db.skysql.net:5047/mybatis_demo?sslMode=verify-ca&serverSslCert=/path/to/your/skysql_chain.pem
9+
# jdbc:mariadb://demo-db0000xxxx.mdb000xxxx.db.skysql.net:5047/demo?sslMode=verify-ca&serverSslCert=/path/to/your/skysql_chain.pem

0 commit comments

Comments
 (0)