今天真是 非常头大的一天,不过没关系,加油!!!!

先看看存入的格式

     例如:  {"第1个问题:":18,"第3个问题:":132,"第2个问题:":12,"第4个问题:":123,"第5个问题:":138,"第6个问题:":65}

                   {"goods_id":140861765,"cat_id":210,"goods_sn":171073501,"goods_sn_back":171073501,"goods_upc":11,"goods_name":45}

好了 ,进入正文

1.要有个数据库,并且有一张表(我的表是property,里面有两个字段id自增,name 类型是 text) mysql数据库,我用的大三层,在这里就不写service了,为了简单的测试

2.添加主要的依赖

<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
        <!--主要的-->
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.8.2</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-mapper-asl -->
        <!--主要的-->
        <dependency>
            <groupId>org.codehaus.jackson</groupId>
            <artifactId>jackson-mapper-asl</artifactId>
            <version>1.9.13</version>
        </dependency>

3.创建实体类

package com.example.entity;
/*project实体类*/
public class Project {
    private Integer id;
    private String name;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

4.创建mapper接口

package com.example.mapper;

import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface ProjectMapper {
    //增加json串
    public Integer addproject(String name);
    //获取json字符串
    public String getname();
}

5.对mapper接口的sql编写

<!DOCTYPE mapper  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.ProjectMapper">
    <insert id="addproject" parameterType="String">
        INSERT INTO school.project
        (
        NAME
        )
        VALUES
        (
        #{name}
        );
    </insert>

    <!--我数据库里六条数据,我固定接受 第六条做测试-->
    <select id="getname"  resultType="string">
        SELECT
        NAME

        FROM
        school.project
        WHERE id=6
    </select>
</mapper>

6.controller控制层

package com.example.controller;

import com.example.mapper.ProjectMapper;
import org.codehaus.jackson.JsonGenerationException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;
import com.google.gson.Gson;
import com.google.gson.JsonSyntaxException;
import com.google.gson.reflect.TypeToken;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

@Controller
public class ProjectController {
    @Autowired
    private ProjectMapper projectMapper;

    /*将map转换为json字符串并且存入数据库的字段中*/
    @RequestMapping("add")
    public String addProject(){
        Map<String,Integer> map=new HashMap<String,Integer>();
        map.put("第1个问题:",18);
        map.put("第2个问题:",12);
        map.put("第3个问题:",132);
        map.put("第4个问题:",123);
        map.put("第5个问题:",138);
        map.put("第6个问题:",65);

        ObjectMapper json = new ObjectMapper();
        String names=null;
        try {
            names = json.writeValueAsString(map);
            System.out.println("++++++++++++++++++转成的json格式字符串:"+names);
        } catch (JsonGenerationException e) {
            e.printStackTrace();
        } catch (JsonMappingException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

        /*将json加入数据库中*/
        projectMapper.addproject(names);
        return "";
    }

    /*获取json字符串并转换为map */
    @RequestMapping("get")
    public String getProject(){
        //查询出json字符串
        String name=projectMapper.getname();

        Map<String, Integer> res = null;
        try {
            Gson gson = new Gson();
            /*将json格式的字符串,转换为map*/
            res = gson.fromJson(name, new TypeToken<Map<String, Integer>>() {
            }.getType());
        } catch (JsonSyntaxException e) {
        }

        System.out.println(res);
        /*这里不需要进入页面,只是做测试*/
        return "";
    }
}

 

GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e 4 个月前
8c391e04 6 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐