SpringBoot+ES项目:2.集成单元测试 (hibernate访问数据库测试)

1. 首先建立User表

在这里插入图片描述

2. 建立User Entity类(Entity)
User.class
@Entity 指定当前类为实体类
@Table(name = “user”) 与数据库表名对应
@Id 标记为主键
@GeneratedValue(strategy = GenerationType.IDENTITY) 定义ID为主键,IDENTITY可以同时兼容H2和hibernate
@Column(name = “phone_number”) 标记与数据库中名称对应

在这里插入图片描述
JPA @Id 和 @GeneratedValue 注解详解
https://blog.youkuaiyun.com/coding1994/article/details/79597057

3. 建立JPA操作类(repository)

建立UserRepository 接口 继承 CrudRepository <表名,主键类型>
public interface UserRepository extends CrudRepository<User,Long>

在这里插入图片描述
SpringData中的CrudRepository接口
https://blog.youkuaiyun.com/strive_peter/article/details/76276758

4. 建立测试类
将主测试类无用方法删除,因为测试类的注解@RunWith(SpringRunner.class) @SpringBootTest都是这俩个,可以将这个类作为父类,其他类继承它
在这里插入图片描述
在测试类建立一个Entity包,建立一个UserRepositoryTest类继承ApplicationTest类,并实现对用户表数据的抽取。

在这里插入图片描述
从结果上看无错误出现,并且输出admin说明从数据库获取到了数据。那么整个从数据库中取数据的过程是如何实现的呢?
首先,测试类@Autowired注入了userRepository接口,userRepository继承了CrudRepository所以可以有findOne函数去寻找数据表中的数据。(疑问直接注入接口就可以实例化???)
在这里插入图片描述
那么数据表在后面<User,Long>定义好了User就是entity 的User类这个实体类用于接收从数据表中查询的数据。(JPAConfig类通过自动扫描entity文件与他们联系起来)
Assert.assertEquals(“admin”, user.getName());用于判断是否一致,不一致会报错

5. 设置不同配置文件

我们希望测试时使用测试环境,开发时使用开发环境
由此我们建立application.properties application-dev.properties application-test.properties application-online.properties 四个配置
并将application.properties 中加入spring.profiles.active=dev
在这里插入图片描述
将mysql相关配置移入application-dev.properties
在这里插入图片描述
在这里插入图片描述
在application-test.properties 中加入h2驱动,这样就可以在内存中使用内存数据库了
在这里插入图片描述
在测试函数前加入注解@ActiveProfiles(“test”)可以默认访问test配置文件
在这里插入图片描述
然后做单元测试依然成功
在这里插入图片描述

Spring Boot和Elasticsearch(简称ES)是两种不同的技术,分别用于处理关系型数据库和文档式数据库。Spring Boot用于开发关系型数据库应用程序,例如MySQL,PostgreSQL和Oracle等。而ES是一个基于Lucene的文档式数据库,用于存储和检索大量文档形式的数据。 对于关系型数据库数据的操作,Spring Boot提供了多种方法和工具来简化开发过程。首先,Spring Boot提供了JPA(Java Persistence API)通过Hibernate来进行数据库操作,提供了一组标准化的接口来实现数据库访问。通过使用JPA,开发者可以轻松地进行增删改查等操作。另外,Spring Boot还支持使用JdbcTemplate来处理更底层的数据库操作。 另一方面,对于使用ES进行数据操作,Spring Boot提供了一系列的集成模块,例如spring-data-elasticsearch和elasticsearch-rest-high-level-client等。通过这些模块,开发者可以方便地与ES进行交互。开发者可以使用注解和查询构建器来定义索引、映射和查询等操作。此外,Spring Boot还提供了自动化配置和优化的功能,以简化ES集成的过程。 总而言之,Spring Boot可以很好地支持关系型数据库ES的数据操作。对于关系型数据库,可以使用JPA或JdbcTemplate进行增删改查等操作。对于ES,可以使用spring-data-elasticsearch和elasticsearch-rest-high-level-client等模块进行索引、映射和查询等操作。通过Spring Boot的集成和自动化配置,开发者可以更加轻松地处理这些不同类型数据库的数据操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值