国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - SpringBoot集成H2內存數據庫的方法

SpringBoot集成H2內存數據庫的方法

2021-12-18 14:45java干貨 Java教程

H2是Thomas Mueller提供的一個開源的、純java實現的關系數據庫。本文主要介紹了SpringBoot集成H2內存數據庫,具有一定的參考價值,感興趣的可以了解一下

H2是Thomas Mueller提供的一個開源的、純java實現的關系數據庫。

前言

本篇文章介紹如何使用Spring BootSpring Data JPA集成H2內存數據庫。更多關于H2數據參考:http://www.h2database.com/html/tutorial.html

準備

  • JDK 1.8 或更高版本
  • Maven 3 或更高版本

技術棧

  • Spring Data JPA
  • Spring Boot

目錄結構

SpringBoot集成H2內存數據庫的方法

 

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <parent>
      <artifactId>jpa-example</artifactId>
      <groupId>cn.merryyou</groupId>
      <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>

  <artifactId>h2-webconsole</artifactId>

  <properties>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <java.version>1.8</java.version>
  </properties>

  <dependencies>
      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-data-jpa</artifactId>
      </dependency>

      <dependency>
          <groupId>com.h2database</groupId>
          <artifactId>h2</artifactId>
          <version>1.4.196</version>
      </dependency>

      <dependency>
          <groupId>org.projectlombok</groupId>
          <artifactId>lombok</artifactId>
      </dependency>

      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-test</artifactId>
          <scope>test</scope>
      </dependency>
      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-web</artifactId>
      </dependency>
  </dependencies>

  <build>
      <plugins>
          <plugin>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-maven-plugin</artifactId>
          </plugin>
          <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
              <version>3.6.1</version>
              <configuration>
                  <source>1.8</source>
                  <target>1.8</target>
              </configuration>
          </plugin>
      </plugins>
  </build>

</project>

 

實體類 User

@Entity
@Table(name = "t_user")
@Data
public class User {

  @Id
  @GeneratedValue(strategy = GenerationType.IDENTITY)
  private Long id;

  private String name;

  private String url;

  @Override
  public String toString() {
      return "User{" +
              "id=" + id +
              ", name='" + name + '\'' +
              ", url='" + url + '\'' +
              '}';
  }
}
  • @Table聲明此對象映射到數據庫的數據表,通過它可以為實體指定表(talbe),目錄(Catalog)和schema的名字。該注釋不是必須的,如果沒有則系統使用默認值(實體的短類名)。
  • @Id 聲明此屬性為主鍵。該屬性值可以通過應該自身創建,但是Hibernate推薦通過Hibernate生成
  • @GeneratedValue 指定主鍵的生成策略。
    • TABLE:使用表保存id值
    • IDENTITY:identitycolumn
    • SEQUENCR :sequence
    • AUTO:根據數據庫的不同使用上面三個

@Column 聲明該屬性與數據庫字段的映射關系。

 

AddressRepository

public interface UserRepository extends JpaRepository<User, Integer> {
}

Spring Data JPA包含了一些內置的Repository,實現了一些常用的方法:findonefindallsave等。

 

application.yml

spring:
datasource:
  url: jdbc:h2:mem:h2test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
  platform: h2
  username: sa
  password:
  driverClassName: org.h2.Driver
jpa:
  database-platform: org.hibernate.dialect.H2Dialect
  hibernate:
    ddl-auto: update
  properties:
    hibernate:
      show_sql: true
      use_sql_comments: true
      format_sql: true
h2:
  console:
    enabled: true
    path: /console
    settings:
      trace: false
      web-allow-others: false
logging:
level: debug

 

連接配置

application.yml文件中對數據庫進行連接配置

  • spring.datasource.url=jdbc:h2:mem:h2test,配置h2數據庫的連接地址
  • spring.datasource.driver-class-name=org.h2.Driver,配置JDBC Driver
  • spring.datasource.username=sa,配置數據庫用戶名
  • spring.datasource.password=,配置數據庫密碼

當你完成依賴和連接配置這兩步之后,你就可以在程序種使用h2了。spring會自動幫你完成DataSource的注入。

 

數據初始化配置

如果你需要在程序啟動時對數據庫進行初始化操作,則在application.properties文件中對數據庫進接配置

  • spring.datasource.schema=classpath:db/schema.sql,進行該配置后,每次啟動程序,程序都會運行resources/db/schema.sql文件,對數據庫的結構進行操作。
  • spring.datasource.data=classpath:db/data.sql,進行該配置后,每次啟動程序,程序都會運行resources/db/data.sql文件,對數據庫的數據操作。

該配置非常適合開發環境,我會把數據庫的結構構建sql放在resources/db/schema.sql,數據sql放在resources/db/data.sql中。這樣每次運行程序我都可以得到一個新的數據庫。這樣就不需要我每次為了測試而修改數據中的內容了。

 

h2 web consloe配置

h2 web consloe是一個數據庫GUI管理應用,就和phpMyAdmin類似。程序運行時,會自動啟動h2 web consloe。當然你也可以進行如下的配置。

  • spring.h2.console.settings.web-allow-others=true,進行該配置后,h2 web consloe就可以在遠程訪問了。否則只能在本機訪問。
  • spring.h2.console.path=/h2-console,進行該配置,你就可以通過YOUR_URL/h2-console訪問h2 web consloeYOUR_URL是你程序的訪問URl
  • spring.h2.console.enabled=true,進行該配置,程序開啟時就會啟動h2 web consloe。當然這是默認的,如果你不想在啟動程序時啟動h2 web consloe,那么就設置為false。

UserRepositoryTest

@SpringBootTest
@RunWith(SpringRunner.class)
@Slf4j
public class UserRepositoryTest {

  @Autowired
  private UserRepository userRepository;

  @Test
  public void saveTest() throws Exception {
      User user = new User();
      user.setName("鄭龍飛");
      user.setUrl("http://merryyou.cn");
      User result = userRepository.save(user);
      log.info(result.toString());
      Assert.assertNotNull(user.getId());
  }

  @Test
  public void findOneTest() throws Exception{
      User user = userRepository.findOne(1l);
      log.info(user.toString());
      Assert.assertNotNull(user);
      Assert.assertTrue(1l==user.getId());
  }
}

h2 web consloe

SpringBoot集成H2內存數據庫的方法

SpringBoot集成H2內存數據庫的方法

 

代碼下載

從我的 github 中下載,https://github.com/longfeizheng/jpa-example/tree/master/h2-webconsole

到此這篇關于SpringBoot集成H2內存數據庫的方法的文章就介紹到這了,更多相關SpringBoot集成H2內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/dandandeshangni/article/details/108544261

延伸 · 閱讀

精彩推薦
  • Java教程Java實現搶紅包功能

    Java實現搶紅包功能

    這篇文章主要為大家詳細介紹了Java實現搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發現了對于集合操作轉換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關于Java8中S...

    阿杜7482021-02-04
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程xml與Java對象的轉換詳解

    xml與Java對象的轉換詳解

    這篇文章主要介紹了xml與Java對象的轉換詳解的相關資料,需要的朋友可以參考下...

    Java教程網2942020-09-17
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關于小米推送Java代碼,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩中求8032021-07-12
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經有好久沒有升過級了。升級完畢重啟之后,突然發現好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程Java BufferWriter寫文件寫不進去或缺失數據的解決

    Java BufferWriter寫文件寫不進去或缺失數據的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進去或缺失數據的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
主站蜘蛛池模板: 色狠狠网 | 亚洲一区久久 | 亚洲精品国精品久久99热 | 日日夜夜天天干干 | 成人激情视频 | 久久99精品久久久久久久青青日本 | 精品自拍视频在线观看 | 高清在线一区二区 | 国产成人免费 | 青青久久av北条麻妃黑人 | 草久在线观看 | 精品一区免费 | 久国产精品韩国三级视频 | 久久久久久久久久久久国产 | 久久99精品久久久久久噜噜 | 日本中文字幕在线看 | 久久男人天堂 | 国产成人免费视频网站视频社区 | 日韩在线免费 | 亚洲电影在线 | 中文字幕 亚洲一区 | 国产中文一区二区三区 | 性欧美大战久久久久久久免费观看 | av电影免费 | 欧美精品欧美精品系列 | 日韩在线精品 | 亚洲欧美激情精品一区二区 | 国产亚洲一区二区三区在线观看 | 日韩免费一区 | 亚洲精品在线看 | 国产高清精品在线 | 91麻豆产精品久久久 | 日本久久成人 | 杨门女将寡妇一级裸片看 | 国产精品视频播放 | 国产精品欧美日韩 | 亚洲欧美日韩精品久久亚洲区 | 亚洲成人精品久久 | 玖玖精品在线 | 欧美日韩精品在线 | 国产精品视频一二三区 |