周日没怎么休息好,周一一天都迷迷糊糊的,不过还算是干了不少的活。
总结一下,大致有以下几点内容:
- 1 使用poi以及mysql jdbc实现了一个复杂excel的导入
- 2 基于工程原有的代码,书写spring mvc的业务代码以及测试用例
使用POI以及jdbc
POI是用于处理excel文件很常用的工具,如果你的excel是比较老的版本,记xls结尾的,那么只使用poi就行了。如果是xlsx结尾的,还需要引入xssf的jar包。
参考maven的pom.xml配置:
org.apache.poi poi 3.14 org.apache.poi poi-ooxml 3.14
使用的话,这里就简单介绍下数据的读取:
InputStream stream = new FileInputStream("绝对路径\\文件名.xlsx");//获得输入流XSSFWorkbook wb=new XSSFWorkbook(stream);//xlsx版本使用XSSFWorkbookSheet sheet1 = wb.getSheetAt(1);//获取制定的sheet页内容for(int i=0,total = sheet1.getLastRowNum();i
JDBC动态参数
使用JDBC还是很基础的内容了,这里使用动态sql动态拼接条件:
sql = "select id from scp_b where name=? and code=?";
相应的查询:
PreparedStatement sta = conn.prepareStatement(sql);sta.setString(1, "xxx";sta.setString(2, "yyyy");ResultSet rs = sta.executeQuery();while(rs.next()){ System.out.println(rs.getString("id"));}sta.close();
使用Mockmvc进行mvc的单元测试
以前没有web mvc的单元测试经验,所以这部分的内容还得继续学习下,才能总结好。
不过,有一点还是需要明确的,就是单元测试。
单元测试,是最基本的程序验证的方法。之前还流行过TDD测试驱动开发的软件方法论,即需要先写出测试用例,然后再去写实现。这样的好处就是在编写实现之前,就明确知道输入是什么,输出是什么...不过,真正做到这点的,全国也没有多少吧。大多是写完实现,开发者自己补上测试用例,用来验证一些简单的场景而已。@WebAppConfigurationpublic class aaaTest extends BaseTest { @Autowired private WebApplicationContext wac; private MockMvc mockMvc; @Before public void setup() { this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build(); } @Test public void OrderTendencyDataProfilingChart() throws Exception{ this.mockMvc.perform(post("/a/b") .accept(MediaType.APPLICATION_JSON) .characterEncoding("UTF-8") .param("1", "2") .header(ApiTokenUtils._tokenName, ApiTokenUtils.getToken())) .andExpect(status().isOk()) .andDo(new ResultHandler() { @Override public void handle(MvcResult result) throws Exception { result.getResponse().setCharacterEncoding("UTF-8"); String content = result.getResponse().getContentAsString(); System.out.println(content); } }); }}