Spring如何从mysql数据库中读取数据(json格式)并传给前台

菜鸟提问大神:
譬如数据库中有个用户表user,字段有id,name,age
sping(controller、service等层)该怎么写才能获取用户表里的数据
然后,又怎么将这些传给前台
请贴出详细的示例代码,谢谢~

service中select * from user
controller调用service

正常从mysql中查询数据,直接封装带一个实体类中,之后用ObjectMapper中的方法可以将实体类转换成json字符串,在返回就OK~

1、一般我们前台取值,直接将数据库中的表转换成java对象,然后通过如fastjson解析成json字符串传给前台。
2、现在mysql支持json类型字段,可以直接存json的格式,读的时候直接取该字段就可以

使用POJO一个类来对应你的数据库中的记录,如果使用Mybatis中,将数据库中的表和来映射,看你是自动映射还是resultMap自定义高级映射,执行SQL语句后返回的结果对应于你的那个POJO类
将对数据库的操作封装成接口Dao层,然后通过Service来调用Dao层,那个SpringMVC中使用注解Controller来调用你的Service服务接口,返回一个字符串后,使用视图解析器来返回给用户一个视图页面,如果你给前端的数据看你具体给啥格式,对应转换了。

Spring并不能单独地完成这项工作,需要控制器SpringMVC或者Struts2。控制器要把数据集(一条或多条数据都可以)发送到界面,可以用Session存储(一条数据可以直接用实体类的对象,多条可以用List包装数据,存储List对象),或者用Ajax技术传输数据集(把数据集转换中JSON对象,导入相应的jar包就可以简单实现),取决是否需要异步刷新界面。接着就是Service层,直接注入Dao类,条用Dao的查询方法。然后就是Dao层,在Dao中当然就是进行对数据库的访问,可以用原生的JDBC,或者SpringJDBC,或者MyBatis,或者Hibernate等等,小项目哪一种都可以。代码的话只能你自己一步一步去了解了。

使用注解
private static ObjectMapper objectMapper=new ObjectMapper()
@RequestMapping(value="test")
@ResponseBody
public String test(){
String json=objectMapper.WriteValueAsString(你要返回的对象)
return json;
}