以下學習 Spring Boot 使用 JPA 連接 MySQL資料庫 時的筆記紀錄

1.pom.xml 所需套件

<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <scope>runtime</scope>
</dependency>

 

 

 

 

 

 

 

2.Entity 資料表實體類

@Entity //註明此為實體類
@Table(name = "spring") //對應表名
public class spring {
    
    @Id //註明此為主鍵欄位
    @Column(name = "user_id") //對應表欄位名稱
    private int id;
    
    public int getId() 
    {
        return id;
    }
    
    public void setId(int id) 
    {
        this.id = id;
    }
    
    @Column(name = "name") //對應表欄位名稱
    private String name;
    
    public String getName() 
    {
        return name;
    }
    
    public void setName(String name) 
    {
        this.name = name;
    }
    
    @Column(name = "age") //對應表欄位名稱
    private int age;
    
    public int getAge() 
    {
        return age;
    }
    
    public void setAge(int age) 
    {
        this.age = age;
    }
    
    public spring() {}
    
    /** 建立此實體時初始化欄位值 */
    public spring(int id, String name, int age) 
    {
        this.id = id;
        this.name = name;
        this.age = age;
    }

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3. JPA接口配置

/**
 * 配置JAP接口<br>
 * 註解EnableJpaRepositories,設定資料庫接口的儲存位置<br>
 * 註解EntityScan,設定實體類的掃瞄路徑<br>
 */

@Configuration
@EnableJpaRepositories(basePackages = "com.jpatest.demo.test")
@EntityScan(basePackages = "com.jpatest.demo.test")
public class JpaConfiguration {
    @Bean
    PersistenceExceptionTranslationPostProcessor persistenceExceptionTranslationPostProcessor() 
    {
        return new PersistenceExceptionTranslationPostProcessor();
    }
}

 

 

 

 

 

 

 

 

 

 

 

4.資料庫介面

/**
 * 面向資料庫的接口,使用spring實體類作為表資料對象
 */

public interface springRepository extends JpaRepository<spring, Long>{

}

 

 

 

 

 

5.Application 啟動程序

@SpringBootApplication
public class Application {
    public static void main(String[] args) 
    {
        SpringApplication.run(Application.class, args);
    }
}

 

 

 

 

 

6.ApplicationTest 單元測試

@RunWith(SpringRunner.class)
@SpringBootTest
@ContextConfiguration(classes = {JpaConfiguration.class, TestApplication.class})
public class ApplicationTest {
    @Autowired
    private springRepository springRepository;
    
    @Test
    public void createTest() 
    {
        //創建資料實體
        spring testspring = new spring(4, "test", 15);
        //存入資料庫
        springRepository.save(testspring);
        
        //讀取資料庫內所有資料
        List<spring> springs = springRepository.findAll();
        //逐項列出ID確認功能
        for (spring spring : springs) 
        {
            System.out.println(spring.getId());
        }
    }
}

 

創作者介紹
創作者 TIN's 網上五四三 的頭像
網客TIN

TIN's 網上五四三

網客TIN 發表在 痞客邦 留言(0) 人氣( 1 )