2016年8月

spring boot整合mybatis时找不到Mapper

spring boot整合mybatis的时候,使用注解方式时ok.
但是使用xml配置的时候出现了点问题。
错误描述

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): cn.com.hanbinit.mapper.UserMapper.findUserInfo

提示找不到Mapper接口中的方法。可是多次检查这个地方都没有问题的。

经过多次试验,在application.properties中添加了如下配置,运行ok。

mybatis.mapper-locations=classpath:/mybatis/*Mapper.xml  
mybatis.type-aliases-package=cn.com.hanbinit.domain  

spring boot做单元测试时中文乱码

初接触spring boot, 单元测试时发现用例失败了.
测试代码如下:

@Test
public void testHello() throws Exception{
mvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON))
.andExpect(status().isOk())
.andExpect(content().string(equalTo("Hello, 你好...")));
}

unit显示失败:

06BC0F05-8FAD-4023-856B-F802E62F5FB4

可以看出, 是因为返回的中文乱码了.

尝试了好多方法, 才发现问题不在spring本身.
将上面的代码改成

@Test
public void testHello() throws Exception{
mvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON_UTF8))
.andExpect(status().isOk())
  .andExpect(content().string(equalTo("Hello, 你好...")));
}

就可以了.

0A674A5C-5AA4-467C-AA92-2A8EEDC47E94

至此, 问题圆满解决.