优选主流主机商
任何主机均需规范使用

Idea高效实战:详解H2内存数据库的最简使用技巧,提升开发效率

在idea中做练习或做demo时,有时候需要使用到数据库,但如果自己机子上本来没有安装数据库(全新安装太麻烦或资源有限),也没有可用的远程数据库时,我们可以直接在idea上使用便捷式的内存数据库h2,关于h2更多知识就自己去找一下资料了,接下来主要讲一下如何在idea下的springboot项目中把它用起来!

首先在idea中新建一个空的maven项目,编辑项目pom.xml文件,增加springboot和最基础的数据访问相关jar包依赖:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 <?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" >    <modelversion>4.0.0</modelversion>      <groupid>org.example</groupid>    <artifactid>microservice-simple-provider- user </artifactid>    <version>1.0-snapshot</version>    <packaging>jar</packaging>      <parent>      <artifactid>spring-boot-starter-parent</artifactid>      <groupid>org.springframework.boot</groupid>      <version>2.4.2</version>    </parent>      <properties>      <project.build.sourceencoding>utf-8</project.build.sourceencoding>      <java.version>1.8</java.version>    </properties>      <dependencies>      <dependency>        <! --springboot的web项目起步依赖-->        <groupid>org.springframework.boot</groupid>        <artifactid>spring-boot-starter-web</artifactid>        <version>2.4.2</version>      </dependency>      <dependency>        <! --springboot的jpa数据访问组件起步依赖-->        <groupid>org.springframework.boot</groupid>        <artifactid>spring-boot-starter-data-jpa</artifactid>        <version>2.3.1.release</version>      </dependency>      <dependency>        <! --自动构建h2嵌入式或内存数据库的依赖-->        <groupid>com.h2database</groupid>        <artifactid>h2</artifactid>        <version>1.4.200</version>      </dependency>    </dependencies>      <build>      <plugins>        <plugin>          <groupid>org.springframework.boot</groupid>          <artifactid>spring-boot-maven-plugin</artifactid>          <version>2.4.2</version>        </plugin>      </plugins>    </build> </project>

然后在classpath路径范围内增加建表sql脚本文件和数据初始化文件:

接着再添加springboot项目配置文件application.yml,并添加jpa、datasource和h2的主要配置项:

最后再为项目添加一个springboot启动类,即可将应用跑起来,并进行h2内存数据库的连接了:

注意:自动创建的h2内存数据库的管理地址就是我们在application.yml中配置的h2.console.path地址,进入管理页后如下图所示:

这样我们的应用就相当于自带了一个便捷式内存数据库了!

现在我们来为项目做一个最简单的h2内存数据库的使用样例——为h2数据库中的user表增加对应的实体类user.java、基于jpa的数据访问对象userrepository.java和api层控制类usercontroller.java:

user.java类:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 package com.example.models;   import com.fasterxml.jackson.annotation.jsonignoreproperties;   import javax.persistence.*; import java.math.bigdecimal;   @jsonignoreproperties(value = { "hibernatelazyinitializer" }) @entity public class user {    @id    @generatedvalue(strategy = generationtype.auto)    private long id;      @ column    private string username;      @ column    private string name ;      @ column    private integer age;      @ column    private bigdecimal balance;      public long getid() {      return id;    }      public void setid(long id) {      this.id = id;    }      public string getusername() {      return username;    }      public void setusername(string username) {      this.username = username;    }      public string getname() {      return name ;    }      public void setname(string name ) {      this. name = name ;    }      public integer getage() {      return age;    }      public void setage( integer age) {      this.age = age;    }      public bigdecimal getbalance() {      return balance;    }      public void setbalance(bigdecimal balance) {      this.balance = balance;    } }

userrepository.java类:

1 2 3 4 5 6 7 8 9 package com.example.dao;   import com.example.models. user ; import org.springframework.data.jpa.repository.jparepository; import org.springframework.stereotype.repository;   @repository public interface userrepository extends jparepository< user , long> { }

usercontroller.java类:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 package com.example.controller;   import com.example.dao.userrepository; import com.example.models. user ; import org.springframework.beans.factory.annotation.autowired; import org.springframework.web.bind.annotation.getmapping; import org.springframework.web.bind.annotation.pathvariable; import org.springframework.web.bind.annotation.restcontroller;   @restcontroller public class usercontroller {    @autowired    private userrepository userrepository;      @getmapping( "/{id}" )    public user findbyid(@pathvariable long id) {      user oneuser = this.userrepository.getone(id);      return oneuser;    } }

到此这篇关于详解idea中便捷内存数据库h2的最简使用方式的文章就介绍到这了。

未经允许不得转载:搬瓦工中文网 » Idea高效实战:详解H2内存数据库的最简使用技巧,提升开发效率