博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
列式存储(二)JFinal如何处理从前台传回来的二维数组
阅读量:5219 次
发布时间:2019-06-14

本文共 1850 字,大约阅读时间需要 6 分钟。

上一篇说到了列式存储,这一篇说它的存储问题,将每个模块的所有属性字段单独存到一张表中,新增页面时,所有的字段都去数据库请求,这样多个模块的新增功能可以共用一个jsp。由于每个模块的字段个数不一样,有的多有的少,这就导致用post请求发送数据时参数个数不能写死,于是只好把整个dataArray传给后台,以前没用过这种写法,自己又是个菜鸟,就用了一个很笨的办法,就是用for循环加getPara()方法接收数据。具体方法见代码:

dataArray结构:

 

js发送post请求,将数组dataArray作为参数传给后台

function postData() {    $.post("saveData", {        "dataArray" : dataArray,  //dataArray是一个二维数组,每个数组元素均为一个对象        "dataArrayLength" : dataArray.length    }, function(data) {        window.history.back();    });    return false;}

Controller接收数据

public void saveData() {        int dataArrayLength= getParaToInt("dataArrayLength");        List
dataList = getParams(dataArrayLength);      boolean result = DataService.srv.saveData(dataArrayLength, dataList); //将数据存到数据库中 } private List
getParams(int dataArrayLength) { List
dataList = Lists.newArrayList(); for (int i = 0; i < dataArrayLength; i++) { DataModel dataModel = new DataModel(); dataModel.id = getPara("dataArray[" + i + "][ID]");        dataModel.resId = getPara("dataArray[" + i + "][RES_ID]"); dataModel.resType = getPara("dataArray[" + i + "][RES_TYPE]"); dataModel.fieldId = getPara("dataArray[" + i + "][FIELD_ID]"); dataModel.fieldName = getPara("dataArray[" + i + "][FIELD_NAME]"); //属性名 dataModel.dataValue = getPara("dataArray[" + i + "][DATA_VALUE]"); //属性值 dataModel.fieldType = getPara("dataArray[" + i + "][FIELD_TYPE]"); dataModel.fieldSort = getPara("dataArray[" + i + "][FIELD_SORT]"); dataModel.allowNull = getPara("dataArray[" + i + "][ALLOW_NULL]"); dataList.add(dataModel); } return dataList; }

 由于一个字段在数据库中即是一条数据,因此汪数据库存储dataList时需要用到事务。

转载于:https://www.cnblogs.com/ltchu/p/5972923.html

你可能感兴趣的文章
洛谷P2777
查看>>
Ajax
查看>>
PHPStorm2017设置字体与设置浏览器访问
查看>>
android开发学习笔记:圆角的Button
查看>>
Activity简介
查看>>
jqGrid树
查看>>
循环-12. 打印九九口诀表(15)
查看>>
oracle树状索引详解(图摘取《收获不止oracle》)
查看>>
Android Studio 设置代码提示和代码自动补全快捷键--Eclipse 风格 - 转
查看>>
ORACLE基本操作备忘
查看>>
Maven学习:项目之间的关系
查看>>
SQL查询总结 - wanglei
查看>>
安装cocoa pods时出现Operation not permitted - /usr/bin/xcodeproj的问题
查看>>
makefile中使用变量
查看>>
GIT笔记:将项目发布到码云
查看>>
JavaScript:学习笔记(7)——VAR、LET、CONST三种变量声明的区别
查看>>
JavaScript 鸭子模型
查看>>
PHP典型功能与Laravel5框架开发学习笔记
查看>>
SQL Server 如何查询表定义的列和索引信息
查看>>
项目上传到github上
查看>>