未加星标

初识Java数据集 数据库 数据库学习 Java数据集

字体大小 | |
[数据库(综合) 所属分类 数据库(综合) | 发布者 店小二03 | 时间 2017 | 作者 红领巾 ] 0人收藏点击收藏

初识Java数据集,在设计报表和查询时,仅靠SQL有的需求是根本不够的,所以引入了Java数据集这个概念。通俗点讲就是用用java把sql"包装"起来,封装好便于使用。常用语复杂多表查询,存储结构业务.下面就拿出一个简单的java数据集讲解一下构造和原理.

private static String FFCCMUNFC(Context ctx//必须要有的用户数据信息, String 传来的json串,里面有查询所需的条件信息) {
//3建立
StringBuffer sql=new StringBuffer();//首先要建立一个StringBuffer来储存sql语句.
JSONObject resultObj=new JSONObject();//建立一个需要返回的json串
JSONObject object=JSONObject.fromObject(paramStr); //建一个jsonobject接收解析传来的数据
String fbizdate=object.getString("fbizdate");//从传来的数据中解析出业务日期(jsonobject的本质就是key:vlue)
//StringBuffer追加成所需的sql语句. sql仅供举例 并无实际用处
sql.append(" SELECT t.fid batchID,");
sql.append(" max(t.fnumber) batchNumber,");
sql.append(" max(tco.fname_l2) batchName,");
sql.append(" ts.fid stoorgID,");
sql.append(" max(ts.fnumber) stoOrgNumber,");
sql.append(" max(ts.fname_l2) stoOrgName,");
sql.append(" max(tbe.CFINCOOPDATE) maxIncoopDate,");
sql.append(" sum(tbe.cfinitQty) initQty,");
sql.append(" count(tbe.cfhenhouseid) henhouseCount,");
sql.append(" sum(thh.cfarea) houseArea ");
sql.append(" from ct_fm_breedbatch t");
sql.append(" INNER JOIN t_org_storage ts");
sql.append(" ON t.cfstoOrgID = ts.fid");
sql.append(" INNER JOIN T_BD_CostObject tco");
sql.append(" ON t.CFCostObjectID = tco.fid");
sql.append(" INNER JOIN ct_fm_breedbatchentry tbe");
sql.append(" ON t.fid = tbe.fparentid");
sql.append(" INNER JOIN ct_fm_henhouse thh");
sql.append(" ON tbe.CFHENHOUSEID = thh.fid");
sql.append(" WHERE t.fid IN (SELECT tc.fid");
sql.append(" FROM CT_FM_ChickenDaily t");
sql.append(" INNER JOIN ct_fm_breedbatch tc");
sql.append(" ON t.cffarmid = tc.cfstoorgid");
sql.append(" and tc.fbizdate >= t.fbizdate -50");
sql.append(" WHERE 1 = 1");
sql.append(" AND (t.fbizdate >= {D '"+fbizdate.substring(0,8)+"01' })");
sql.append(" AND (t.fbizdate <= {D '"+fbizdate+"' })");
sql.append(" GROUP BY t.CFFarmID, tc.fid)");
sql.append(" and t.cfstoOrgID in ");
sql.append(" (");
sql.append(" select tor.forgid");
sql.append(" from T_PM_OrgRange tor");
sql.append(" where tor.ftype = 10");
sql.append(" ) ");
sql.append(" and t.fid in ");
sql.append(" (");
sql.append(" select tc.fid cfbreedbatchid ");
sql.append(" from CT_WHB_InStorageBill t ");
sql.append(" inner join CT_WHB_InStorageBillEntry te on t.fid = te.fparentid");
sql.append(" inner join CT_FM_BreedBatch tc on t.CFOrderStorageOrgU = tc.cfstoorgid and t.fbizdate < tc.fbizdate+50 and t.fbizdate > tc.fbizdate");
sql.append(" where t.cfbillstatus = '4' and te.cfmaterialid='at4AAAAAph1ECefw'");
sql.append(" and t.fbizdate >= ({d '"+fbizdate.substring(0,8)+"01'}-4)");
sql.append(" and t.fbizdate <= ({d '"+fbizdate+"'} + 50)"); sql.append(" and te.CFSuttle > 0");
sql.append(" group by t.CFOrderStorageOrgU,tc.fid");
sql.append(" )");
sql.append(" GROUP BY t.fid, ts.fid");
sql.append(" ORDER BY batchNumber ASC, stoOrgNumber ASC");
try {
IRowSet rs=DbUtil.executeQuery(ctx, sql.toString());//执行查询
if(rs.next()){
//将返回值写入要返回的json
resultObj.put("batchID",rs.getString("batchID"));
resultObj.put("batchNumber",rs.getString("batchNumber"));
resultObj.put("batchName",rs.getString("batchName"));
resultObj.put("stoorgID",rs.getString("stoorgID"));
resultObj.put("stoOrgNumber",rs.getString("stoOrgNumber"));
resultObj.put("stoOrgName",rs.getString("stoOrgName"));
resultObj.put("maxIncoopDate",rs.getString("maxIncoopDate"));
resultObj.put("initQty",rs.getString("initQty"));
resultObj.put("henhouseCount",rs.getString("henhouseCount"));
resultObj.put("houseArea",rs.getString("houseArea"));
resultArray.add(resultObj);
}
} catch (Exception e) {
resultObj.put("error", e.getMessage());
}
return resultObj.toString();//返回查询到的JsonObject
}

以上就是一个简单的java数据集代码,当然这是最基础的,更复杂的查询可自行优化sql。查询出来的数据也可作为一个封装类存起来供其他方法调用.

本文数据库(综合)相关术语:系统安全软件

主题: Java数据QtSQL数据库求是包装需求NFC
分页:12
转载请注明
本文标题:初识Java数据集 数据库 数据库学习 Java数据集
本站链接:http://www.codesec.net/view/535064.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 数据库(综合) | 评论(0) | 阅读(59)