使用mybatis注解或jpa注解查询时,返回空数据(非驼峰问题)
在使用mybatis和jpa注解的时候,发现返回数据为null。
/**
*传入的time为一个字符串时
*param:time = '12:00','13:00','14:00'
*/
@Select(value = "select * from table where time in (#{time}));
Object findValue(@Param('time') String time);
当time是一个字符串,并且包含多个内容的时候,这种查询会返回空值。原因是注解查询使用in的时候要求支持集合。所以要传入集合才能返回值,如下所示。
/**
*param:time集合的时候才可以查出数据
*/
@Select(value = "select * from table where time in (#{time}));
Object findValue(@Param('time') List<String> time);
如果觉得创建集合,然后需要add()很多次,嫌麻烦的话,可以创建一个字符串数组,然后可以将这个数组转成集合。如下
String[] time = {"12:00","13:00","14:00"}
List<String> times = Arrays.asList(time);