SpringBoot---h2嵌入式数据库

嵌入式数据库 
一、 添加依赖

             

                   com.h2database    

                   h2    

                  runtime  

           

二、 配置

        spring.datasource.url=jdbc:h2:~/test;AUTO_SERVER=TRUE;DB_CLOSE _ON_EXIT=FALSE                                                     spring.datasource.username=sa

        spring.datasource.password=

       注: 1."~"这个符号代表的就是当前登录到操作系统的用户对应的用户目录

                2.账号密码我们指定之后,就会自动创建 

       指定路径:     spring.datasource.url=jdbc:h2:file:D:/roncoo_h2/roncoo_spring_boot;AUTO_SERVER=TRUE;DB_CLOSE_ON_EXIT=FALSE 

       内存模式: spring.datasource.url=jdbc:h2:mem:test 

三、 进入控制台 
路径:http://localhost:8888/h2-console(密码为空)

项目结构如下:

SpringBoot---h2嵌入式数据库_第1张图片

application-dev.properties 配置文件:

#开发环境
server.port=8888

#MySql
#spring.datasource.url=jdbc:mysql://localhost:3306/springboot?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
#spring.datasource.username=root
#spring.datasource.password=root
#spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#spring.jackson.time-zone=Asia/Chongqing

#h2
#
#   ~  代表用户的 家目录
#
#spring.datasource.url=jdbc:h2:~/test;AUTO_SERVER=TRUE;DB_CLOSE_ON_EXIT=FALSE
#
#    通过file 指定 本地数据库  所在的位置  lhg_h2 为数据库名称#
#    username  password 写上 多少  就会给我们创建一个带有用户密码的数据库
#
spring.datasource.url=jdbc:h2:file:F:/springboot_h2/lhg_h2;AUTO_SERVER=TRUE;DB_CLOSE_ON_EXIT=FALSE
spring.datasource.username=sa
spring.datasource.password=

# JPA
spring.jpa.hibernate.ddl-auto=update
#显示 sql 语句
spring.jpa.show-sql=true 

dao接口层和Service层 没有改变可以参考上一篇博客的内容,测试类如下:

package com.nyist.h2;

import com.nyist.h2.dao.RoncooUserLogDao;
import com.nyist.h2.model.RoncooUserLog;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.test.context.junit4.SpringRunner;

import java.util.Date;
import java.util.List;

@RunWith(SpringRunner.class)
@SpringBootTest
public class H2ApplicationTests {

    @Autowired
    private RoncooUserLogDao roncooUserLogDao;

    @Test
    public void insert() {
        RoncooUserLog entity = new RoncooUserLog();
        entity.setUserName("无境");
        entity.setUserIp("192.168.0.1");
        entity.setCreateTime(new Date());
        roncooUserLogDao.save(entity);
    }

//    @Test
//    public void delete() {
//        roncooUserLogDao.delete(1);
//    }

    @Test
    public void update() {
        RoncooUserLog entity = new RoncooUserLog();
        entity.setId(2);
        entity.setUserName("无境2");
        entity.setUserIp("192.168.0.1");
        entity.setCreateTime(new Date());
        roncooUserLogDao.save(entity);
    }

//    @Test
//    public void select() {
//        RoncooUserLog result = roncooUserLogDao.findOne(1);
//        System.out.println(result);
//    }

    @Test
    public void select2() {
        List result = roncooUserLogDao.findByUserName("无境");
        System.out.println(result);
    }

    @Test
    public void select3() {
        List result = roncooUserLogDao.findByUserNameAndUserIp("无境", "192.168.0.1");
        System.out.println(result);
    }

    // 分页
    @Test
    public void queryForPage() {
        Pageable pageable = new PageRequest(0, 20, new Sort(new Sort.Order(Sort.Direction.DESC, "id")));
        Page result = roncooUserLogDao.findByUserName("无境", pageable);
        System.out.println(result.getContent());
    }

}

我们插入一条数据,在h2console 中查看结果如下:

SpringBoot---h2嵌入式数据库_第2张图片

可以看到 有一条数据插入进来了,证明我们嵌入式h2数据库成功,可以正常使用

我们在测试删除一天数据试试,运行结果如下:

SpringBoot---h2嵌入式数据库_第3张图片

至此h2嵌入式数据库引入成功。

你可能感兴趣的:(SpringBoot---h2嵌入式数据库)