数据库中存入JSON数据

1.创建一个json格式处理类

package com.xiao.handler;

import com.alibaba.fastjson.JSONObject;
import org.apache.ibatis.type.BaseTypeHandler;
import org.apache.ibatis.type.JdbcType;
import org.apache.ibatis.type.MappedJdbcTypes;
import org.apache.ibatis.type.MappedTypes;

import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 * 数据库使用json格式数据处理类
 *
 * @author wu
 * @version 1.0
 * @date 2020/6/24/024
 */


@MappedTypes(JSONObject.class)
@MappedJdbcTypes(JdbcType.VARCHAR)
public class MySqlJsonHandler extends BaseTypeHandler<JSONObject> {
    /**
     * 设置非空参数
     * @param ps
     * @param i
     * @param parameter
     * @param jdbcType
     * @throws SQLException
     */
    @Override
    public void setNonNullParameter(PreparedStatement ps, int i, JSONObject parameter, JdbcType jdbcType) throws SQLException {
        ps.setString(i,String.valueOf(parameter.toJSONString()));
    }
    /**
     * 根据列名,获取可以为空的结果
     * @param rs
     * @param columnName
     * @return
     * @throws SQLException
     */
    @Override
    public JSONObject getNullableResult(ResultSet rs, String columnName) throws SQLException {
        String sqlJson = rs.getString(columnName);
        if (null != sqlJson) {
            return JSONObject.parseObject(sqlJson);
        }
        return null;
    }
    /**
     * 根据列索引,获取可以为内控的接口
     * @param rs
     * @param columnIndex
     * @return
     * @throws SQLException
     */
    @Override
    public JSONObject getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
        String sqlJson = rs.getString(columnIndex);
        if (null != sqlJson) {
            return JSONObject.parseObject(sqlJson);
        }
        return null;
    }
    /**
     *
     * @param cs
     * @param columnIndex
     * @return
     * @throws SQLException
     */
    @Override
    public JSONObject getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
        String sqlJson = cs.getNString(columnIndex);
        if (null != sqlJson) {
            return JSONObject.parseObject(sqlJson);
        }
        return null;
    }

}

2.xml中修改
例:
在这里插入图片描述
在这里插入图片描述

在 Vue 中存入 JSON 数据数据库需要经过以下几个步骤: 1. 通过 Vue 的 HTTP 请求库(例如 axios 或者 vue-resource)向后端发送请求,将数据传递给后端。 2. 在后端,使用相应的框架和库(例如 Express 和 Mongoose)来连接数据库,并且编写相应的路由和操作数据库的代码。 3. 在后端路由中,将前端传递过来的 JSON 数据解析成相应的对象,并且使用 Mongoose 操作数据库。 4. 将操作数据库的结果返回给前端。 下面是一个简单的例子: 前端代码: ```javascript export default { data() { return { jsonData: { name: 'John', age: 25 } } }, methods: { saveData() { this.$http.post('/api/save', this.jsonData) .then(response => { console.log(response.data) }) } } } ``` 后端代码: ```javascript const express = require('express') const mongoose = require('mongoose') const app = express() mongoose.connect('mongodb://localhost/my-database') const schema = new mongoose.Schema({ name: String, age: Number }) const Model = mongoose.model('MyModel', schema) app.post('/api/save', (req, res) => { const data = req.body const model = new Model(data) model.save() .then(result => { res.send(result) }) .catch(error => { res.status(500).send(error) }) }) app.listen(3000, () => { console.log('Server is running') }) ``` 在这个例子中,我们通过 Vue 的 HTTP 请求库将 JSON 数据发送到了 `/api/save` 路由上,后端解析 JSON 数据后,使用 Mongoose 将数据存入到了 MongoDB 数据库中,并且将操作结果返回给了前端。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值