实现前端页面效果的方式,通过js的方式引入即可
<!-- 实现sakana动态人物 --> <div id="sakana-widget" style="position: fixed;bottom: 20px;right:40px;"></div> <script> function initSakanaWidget() { new SakanaWidget({ autoFit: true }) .setState({ i: 0.001, d: 1 }) .mount("#sakana-widget"); } </script> <script async onload="initSakanaWidget()" src="https://cdn.jsdelivr.net/npm/sakana-widget@2.2.2/lib/sakana.min.js" ></script>
在时间允许的情况下,编写单元测试是程序员对代码的自测,这是对自己代码的负责。 写单元测试的两个动机:
java<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> </dependency>
对Controller层(API)做测试,这时候就用到MockMvc了,它使得你无需启动项目工程就能测试这些接口
MockMvc实现了对Http请求的模拟,能够直接使用网络的形式,转换到Controller的调用,这样可以使得测试速度快、不依赖网络环境,而且提供了一套验证的工具,这样可以使得请求的验证统一而且很方便。 基本步骤
java
import com.alibaba.fastjson.JSON;
import com.lhw.entity.TestEntity;
import com.lhw.request.Request;
import org.junit.Before;
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.http.MediaType;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.MvcResult;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import org.springframework.test.web.servlet.result.MockMvcResultMatchers;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
@RunWith(SpringRunner.class)
@SpringBootTest
public class CatalogHealthInsuranceControllerTest {
@Autowired
private org.springframework.web.context.WebApplicationContext context;
private MockMvc mvc;
@Before
public void setUp() throws Exception {
mvc = MockMvcBuilders.webAppContextSetup(context).build();
}
@Test
public void getTransferList() throws Exception {
Request request = new Request();
request.setPatientId("123123");
request.setVisitId("123123");
String strJson = JSON.toJSONString(request);
System.out.println(strJson);
MvcResult result = mvc.perform(MockMvcRequestBuilders.post("/catalog/getTransferList")
.contentType(MediaType.APPLICATION_JSON)
.content(strJson)
)
.andExpect(MockMvcResultMatchers.status().isOk())
.andExpect(MockMvcResultMatchers.content().contentType(MediaType.APPLICATION_JSON))
.andReturn();
result.getResponse().setCharacterEncoding("UTF-8");
System.out.println(result.getResponse().getContentAsString());
}
}
解释:
mockMvc.perform:执行一个请求
MockMvcRequestBuilders.get(“/XXX/get”):构造一个请求,Post请求使用.post方法
contentType(MediaType.APPLICATION_JSON):代表发送端发送的数据格式是application/json;charset=UTF-8
content(strJson) 向接口传递的内容
ResultActions.andExpect(MockMvcResultMatchers.status().isOk()):方法看请求的状态响应码是否为200如果不是则抛异常,测试不通过
andExpect(MockMvcResultMatchers.content().contentType(MediaType.APPLICATION_JSON)) 判断返回值是否是json格式,因为我们接口已经规定了
andReturn() 它会返回一个MvcResult对象,该对象包含了请求和响应的相关信息,例如请求参数、响应状态、响应内容等。我们可以通过调用MvcResult对象的各种方法来获取这些信息
JDBC作为Java访问数据库的API规范,统一了各种数据库的访问方式。但是,直接在Java程序中使用JDBC还是非常复杂和繁琐的。所以Spring对JDBC进行了更深层次的封装,而JdbcTemplate就是Spring提供的一个操作数据库的便捷工具。它主要是实现了数据库连接的管理,我们可以借助JdbcTemplate来执行所有数据库操作,例如插入、更新、删除和从数据库中检索数据,并且有效避免直接使用JDBC带来的烦琐编码。
Spring Boot作为Spring的集大成者,自然会将JdbcTemplate集成进去。Spring Boot针对JDBC的使用提供了对应的Starter包:spring-boot-starter-jdbc,它其实就是在Spring JDBC上做了进一步的封装,方便在 Spring Boot 项目中更好地使用JDBC。
1.JdbcTemplate的特点
速度快,相对于ORM框架,JDBC的方式是最快的。 配置简单,Spring封装的,除了数据库连接之外,几乎没有额外的配置。 使用方便,就像DBUtils工具类,只需注入JdbcTemplate对象即可。
2.JdbcTemplate的几种类型的方法 JdbcTemplate虽然简单,功能却非常强大。它提供了非常丰富、实用的方法,归纳起来主要有以下几种类型的方法:
总的来说,新增、删除与修改三种类型的操作主要使用update和batchUpdate方法来完成。query和queryForObject方法中主要用来完成查询功能。execute方法可以用来执行任意的SQL、call方法来调用存储过程。