每当有我的项目须要拜访数据库的时候总是很苦恼,因为无论哪个数据库都比拟宏大,运行起来也比拟耗内存,有没有简略能够随我的项目启动的数据库吗?有,H2来了。。。

1. 搭建Spirng Boot我的项目

如果启动出现异常,就将中文正文去掉再启动即可。

1.1 pom.xml

<dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter</artifactId></dependency><dependency>    <groupId>com.h2database</groupId>    <artifactId>h2</artifactId>    <scope>runtime</scope></dependency><dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-devtools</artifactId>    <optional>true</optional></dependency><dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-web</artifactId></dependency><dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-data-jpa</artifactId></dependency>

1.2 application.yml

server:  port: 8888 # 端口号spring:  jpa:    show-sql: true # 启用SQL语句的日志记录    hibernate:      ddl-auto: update # 设置ddl模式  datasource:    driver-class-name: org.h2.Driver#    url: jdbc:h2:mem:h2 # 配置h2数据库连贯地址(这里应用的是内存,下次启动数据就不存在了)    url: jdbc:h2:file:./db/h2;AUTO_SERVER=TRUE # 配置h2数据库连贯地址(这里应用的是本地存储形式,下次启动数据还存在)    username: root # 配置数据库用户名    password: 123456 # 配置数据库明码  h2:    console:      path: /h2 # 进行该配置,你就能够通过YOUR_URL/h2拜访h2 web consloe。YOUR_URL是你程序的拜访URl      enabled: true # 配置程序开启时就会启动h2 web consloe      settings:        web-allow-others: true # 配置h2的近程拜访

1.3 新建User实体类

/** * 实体类 * @author zhouzhaodong */@Entity@Table(name="user")public class User {    @Id    @GeneratedValue(strategy = GenerationType.IDENTITY)    private Integer id;    @Column    private String name;    @Column    private String phone;    public Integer getId() {        return id;    }    public void setId(Integer id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getPhone() {        return phone;    }    public void setPhone(String phone) {        this.phone = phone;    }}

1.4 新建UserDao类

/** * dao * @author zhouzhaodong */public interface UserDao extends JpaRepository<User, Integer> {}

1.5 新建UserController管制层

/** * 管制层 * @author zhouzhaodong */@RestControllerpublic class UserController {    @Resource    UserDao userDao;    @RequestMapping("/findById")    public Object findById(Integer id){        return userDao.findById(id);    }    @RequestMapping("/insert")    public void insert(User user){        userDao.save(user);    }    @RequestMapping("/delete")    public void delete(Integer id){        userDao.deleteById(id);    }}

2. 测试

2.1 启动我的项目

会发现db长久化在我的项目外部了:

2.2 关上localhost:8888/h2

2.2.1 登录界面

2.2.2 填写结束后点击连贯:

2.2.3 新建User表
create table if not exists USER(ID INT NOT NULL PRIMARY KEY AUTO_INCREMENT,NAME VARCHAR(100),PHONE VARCHAR(100));

2.3 拜访接口进行数据操作

2.3.1 新增数据


2.3.2 查问数据


2.3.3 删除数据


集体博客地址:

http://www.zhouzhaodong.xyz

GitHub代码地址:

https://github.com/zhouzhaodo...