将 jdbctemple 结果转换为 json 的最有效方法?
Most Efficient way to convert jdbctemple result to json?
一种方法是将 List< Map < String, Object>>
转换为 List(object);
下面给出的
List<Map<String, Object>> ls = jdbcTemplate.queryForList(query);
List<Users> ls_o = new ArrayList<>(ls_o);
for (Map<String, Object> row : ls) {
ls_o.add(row);
}
return new ResponseEntity<List<User>>(ls_o, HttpStatus.OK);
有什么有效的方法可以直接将jdbcTemplate结果转换成json对象吗?
如果您在构建脚本时使用 Maven。添加以下依赖项
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.7.5</version>
</dependency>
修改代码如下
private final ObjectMapper mapper = new ObjectMapper();
public ResponseEntity myMethod(){
List<Map<String, Object>> ls = jdbcTemplate.queryForList(query);
final String str = mapper.writeValueAsString(ls);
return new ResponseEntity<List<User>>(str, HttpStatus.OK);
}
但是,如果您正在使用 Spring 4+ MVC,我建议您使用@RestController
这里为您做的大部分工作是一个例子,这里是一个简单的例子
@RestController
class MyTestClass{
@RequestMapping("/myMethod")
public List<Map<String, Object>> myMethod(){
return jdbcTemplate.queryForList(query);
}
}
注意:在上述两种情况下,您需要将对象 class 转换为精确的 class 才能工作。
一种方法是将 List< Map < String, Object>>
转换为 List(object);
下面给出的
List<Map<String, Object>> ls = jdbcTemplate.queryForList(query);
List<Users> ls_o = new ArrayList<>(ls_o);
for (Map<String, Object> row : ls) {
ls_o.add(row);
}
return new ResponseEntity<List<User>>(ls_o, HttpStatus.OK);
有什么有效的方法可以直接将jdbcTemplate结果转换成json对象吗?
如果您在构建脚本时使用 Maven。添加以下依赖项
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.7.5</version>
</dependency>
修改代码如下
private final ObjectMapper mapper = new ObjectMapper();
public ResponseEntity myMethod(){
List<Map<String, Object>> ls = jdbcTemplate.queryForList(query);
final String str = mapper.writeValueAsString(ls);
return new ResponseEntity<List<User>>(str, HttpStatus.OK);
}
但是,如果您正在使用 Spring 4+ MVC,我建议您使用@RestController
这里为您做的大部分工作是一个例子,这里是一个简单的例子
@RestController
class MyTestClass{
@RequestMapping("/myMethod")
public List<Map<String, Object>> myMethod(){
return jdbcTemplate.queryForList(query);
}
}
注意:在上述两种情况下,您需要将对象 class 转换为精确的 class 才能工作。