Spring Bootについて学習をしています。
その中でMySQLに接続してJSON形式でデータを持ってきて表示させようとしました。
しかし、MySQLには接続できているようですが
データを表示させようとしたところ表示されません。
また、プログラム起動後にMySQLにログインして当該のテーブルにデータを
確認しましたところ中のテーブルデータが削除されていることを確認致しました。
また以下の参考サイトをベースとして書きました。
Java Spring Boot MySQLにJPAでselectするサンプル
どなたか助言お願い致します
java
1Book.java 2 3package com.sample.ec; 4 5import javax.persistence.Entity; 6import javax.persistence.Id; 7import javax.persistence.Table; 8import javax.persistence.Column; 9 10@Entity 11@Table(name="book") 12 13 14public class Book { 15 @Id 16 @Column(name="id") 17 private Integer id; 18 19 @Column(name="name") 20 private String name; 21 22 @Column(name="price") 23 private Integer price; 24 25 public Integer getId() { 26 return id; 27 } 28 29 public void setId(Integer id) { 30 this.id = id; 31 } 32 33 public String getName() { 34 return name; 35 } 36 37 public void setName(String name) { 38 this.name = name; 39 } 40 41 public Integer getPrice() { 42 return price; 43 } 44 45 public void setPrice(Integer price) { 46 this.price = price; 47 } 48 49 50 51} 52
java
1BookRepository.java 2 3package com.sample.ec; 4import org.springframework.data.jpa.repository.JpaRepository; 5 6public interface BookRepository extends JpaRepository<Book, Integer> { 7 8} 9
java
1DemoWebApplication.java 2 3package com.sample.ec; 4 5import org.springframework.boot.SpringApplication; 6import org.springframework.boot.autoconfigure.SpringBootApplication; 7 8@SpringBootApplication 9public class DemoWebApplication { 10 11 public static void main(String[] args) { 12 SpringApplication.run(DemoWebApplication.class, args); 13 } 14 15} 16
java
1MainController.java 2 3package com.sample.ec; 4 5import java.util.List; 6 7 8import org.springframework.beans.factory.annotation.Autowired; 9import org.springframework.web.bind.annotation.RequestMapping; 10import org.springframework.web.bind.annotation.RestController; 11 12@RestController 13public class MainController { 14 @Autowired 15 private BookRepository bookRepository; 16 17 @RequestMapping(value = "/book") 18 public List<Book> get(){ 19 return bookRepository.findAll(); 20 } 21 22 23}
java
1application.properties 2 3spring.jpa.hibernate.ddl-auto=create 4spring.datasource.url=jdbc:mysql://localhost:3306/bookdb?serverTimezone=JST 5spring.datasource.username=******* 6spring.datasource.password=******* 7spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver 8spring.datasource.sql-script-encoding=utf-8 9logging.level.org.springframework.web = trace 10
xml
1pom.xml 2 3<?xml version="1.0" encoding="UTF-8"?> 4<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 5 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 6 <modelVersion>4.0.0</modelVersion> 7 <parent> 8 <groupId>org.springframework.boot</groupId> 9 <artifactId>spring-boot-starter-parent</artifactId> 10 <version>2.2.2.RELEASE</version> 11 <relativePath/> <!-- lookup parent from repository --> 12 </parent> 13 <groupId>com.EC</groupId> 14 <artifactId>EC</artifactId> 15 <version>0.0.1-SNAPSHOT</version> 16 <name>DemoWeb</name> 17 <description>EC project for Spring Boot</description> 18 19 <properties> 20 <java.version>1.8</java.version> 21 </properties> 22 23 <dependencies> 24 <dependency> 25 <groupId>org.springframework.boot</groupId> 26 <artifactId>spring-boot-starter-web</artifactId> 27 </dependency> 28 29 <dependency> 30 <groupId>org.springframework.boot</groupId> 31 <artifactId>spring-boot-starter-test</artifactId> 32 <scope>test</scope> 33 <exclusions> 34 <exclusion> 35 <groupId>org.junit.vintage</groupId> 36 <artifactId>junit-vintage-engine</artifactId> 37 </exclusion> 38 </exclusions> 39 </dependency> 40 41 42 <dependency> 43 <groupId>org.springframework.boot</groupId> 44 <artifactId>spring-boot-starter-data-jpa</artifactId> 45 </dependency> 46 <dependency> 47 <groupId>mysql</groupId> 48 <artifactId>mysql-connector-java</artifactId> 49 <scope>runtime</scope> 50 </dependency> 51 52 53 </dependencies> 54 55 56 57 58 <build> 59 <plugins> 60 <plugin> 61 <groupId>org.springframework.boot</groupId> 62 <artifactId>spring-boot-maven-plugin</artifactId> 63 </plugin> 64 </plugins> 65 </build> 66 67</project> 68 69
MySQLのテーブル
データベース名:boodb
テーブル名:book
CREATE TABLE:
mysql> show create table book;
+-------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| book | CREATE TABLE book
(
id
int(11) NOT NULL,
name
varchar(255) DEFAULT NULL,
price
int(11) DEFAULT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+-------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
INSER文:
INSERT INTO bookdb
.book
(id
, name
, price
) VALUES ('1', '漫画', '400');
INSERT INTO bookdb
.book
(id
, name
, price
) VALUES ('2', '週刊誌', '500');
INSERT INTO bookdb
.book
(id
, name
, price
) VALUES ('3', '辞典', '1000');
※2/11 ログを取り直しました。
申し訳ございません。
見ずらいとは思うんですけどログのスクショをとってきました。
ログをとるにあたって以下をapplication.propertiesに
以下を追加しました。
logging.level.root=WARN
logging.level.org.hibernate=ERROR
logging.file=
logging.path=C:/sts/logs
spring.jpa.show-sql = true
spring.jpa.properties.hibernate.format_sql = true
logging.level.org.hibernate.SQL = debug
logging.level.org.hibernate.type.descriptor.sql.BasicBinder = trace
回答1件
あなたの回答
tips
プレビュー