my salesforce
来源:互联网 发布:烈火战神 源码分析 编辑:程序博客网 时间:2024/05/17 21:06
闲暇之时,自己做了个小东东,模仿salesforce的元数据模型平台。国内类似的平台eeplat,国外的honeycrm都做的很棒,俺一届程序猿,一个人的力量有限,期待大家一起来做这个东东。
程序的主框架如下:
界面展示:
1、整体界面
2、自定义对象
3、字段
A、字段列表
B1、新建字段,选择字段类型
B2、字段相关信息
B3、字段配置后的新建界面
4、显示界面
5、视图界面
部分代码:
SObject.java
package com.passionguy.base.sObject;/** * 数据对象,用于CRUD操作 * * @author gongxinyi * @createtime 上午10:02:24 Email:gongxinong@gmail.com */public class SObject {/** * 记录ID */private int id;/** * 物理表名 */private String ObjectName;/** * 字段 */private Fields[] fields;/** * @return the id */public int getId() {return id;}/** * @param id * the id to set */public void setId(int id) {this.id = id;}/** * @return the objectName */public String getObjectName() {return ObjectName;}/** * @param objectName * the objectName to set */public void setObjectName(String objectName) {ObjectName = objectName;}/** * @return the fields */public Fields[] getFields() {return fields;}/** * @param fields * the fields to set */public void setFields(Fields[] fields) {this.fields = fields;}}
ClsAjax.java
package com.passionguy.support.dao;import java.sql.SQLException;import java.util.HashMap;import java.util.Map;import com.passionguy.base.Util.CommonUtil;import com.passionguy.base.sObject.SObject;import com.passionguy.base.sObject.SaveResult;public class ClsAjax {public static IIbatisDAO ibatisDaoImpl;/** * @param ibatisDaoImpl * the ibatisDaoImpl to set */public void setIbatisDaoImpl(IIbatisDAO ibatisDaoImpl) {this.ibatisDaoImpl = ibatisDaoImpl;}/** * 执行原生sql * * @param sql */public static Object execute(String sql) throws Exception {Object object = null;object = ibatisDaoImpl.excute(sql);return object;}/** * 保存数据 * @param mobject * @throws Exception */public static void SaveData(SObject[] mobject) throws Exception{for (int i = 0; i < mobject.length; i++) {if(mobject[i].getId()==-1){InsertData(mobject);}else{UpdateData(mobject);}}}/** * 更新数据 * * @param mobject * @return * @throws SQLException */public static SaveResult[] UpdateData(SObject[] mobject) throws Exception {SaveResult[] msaveresult = new SaveResult[mobject.length];for (int i = 0; i < mobject.length; i++) {int i_success = 1;String sql = createUpdateSql(mobject[i]);Map<String, String> params = new HashMap();params.put("sql", sql);try {ibatisDaoImpl.excute(sql);} catch (Exception e) {i_success = 0;throw e;}msaveresult[i] = new SaveResult();msaveresult[i].setId(mobject[i].getId());msaveresult[i].setSuccess(i_success == 1 ? true : false);}return msaveresult;}/** * 插入数据 * * @param mobject * @return * @throws SQLException */public static SaveResult[] InsertData(SObject[] mobject) throws Exception {SaveResult[] msaveresult = new SaveResult[mobject.length];for (int i = 0; i < mobject.length; i++) {int i_success = 1;String sql = createInsertSql(mobject[i]);Map<String, String> params = new HashMap<String, String>();params.put("sql", sql);try {ibatisDaoImpl.insert("dboperate.execute", params);} catch (Exception e) {i_success = 0;e.printStackTrace();throw e;}msaveresult[i] = new SaveResult();msaveresult[i].setId(mobject[i].getId());msaveresult[i].setSuccess(i_success == 1 ? true : false);}return msaveresult;}/** * 删除数据 * @param DeleteIds 删除id * @param tableName 表名 * @return * @throws Exception */public static SaveResult[] DeleteData(String[] DeleteIds, String tableName) throws Exception {SaveResult[] msaveresult = new SaveResult[DeleteIds.length];for (int i = 0; i < DeleteIds.length; i++) {int i_success = 1;String sql = "DELETE FROM " + tableName + " WHERE id='"+ DeleteIds[i] + "'";Map<String, String> params = new HashMap<String, String>();params.put("sql", sql);try {ibatisDaoImpl.delete("dboperate.execute", params);} catch (Exception e) {i_success = 0;e.printStackTrace();throw e;}msaveresult[i] = new SaveResult();msaveresult[i].setId(Integer.parseInt(DeleteIds[i]));msaveresult[i].setSuccess(i_success == 1 ? true : false);}return msaveresult;}protected static String createUpdateSql(SObject object) {StringBuffer sql = new StringBuffer();sql.append("UPDATE " + object.getObjectName() + " SET ");for (int i = 0; i < object.getFields().length; i++) {sql.append(i == 0 ? " " : " , ");sql.append(object.getFields()[i].getFieldname());sql.append(" = ");sql.append(CommonUtil.type2sql(object.getFields()[i].getFieldvalue()));}sql.append(" WHERE id=" + object.getId());return sql.toString();}protected static String createInsertSql(SObject object) {StringBuffer sql = new StringBuffer();StringBuffer field = new StringBuffer();StringBuffer value = new StringBuffer();sql.append("INSERT INTO " + object.getObjectName() + " ");field.append(" ( ");value.append(" ( ");for (int i = 0; i < object.getFields().length; i++) {field.append(i == 0 ? " " : " , ");field.append(object.getFields()[i].getFieldname());value.append(i == 0 ? " " : " , ");value.append(CommonUtil.type2sql(object.getFields()[i].getFieldvalue()));}field.append(" ) ");value.append(" ) ");sql.append(field.toString());sql.append(" values ");sql.append(value.toString());return sql.toString();}}
- my salesforce
- SalesForce
- SalesForce
- SalesForce
- Salesforce
- Salesforce
- Salesforce 简介
- Salesforce公司简介
- Salesforce Function
- Salesforce知识点
- salesforce json
- Salesforce travel
- salesforce 推送
- salesforce 分页
- Salesforce Site
- Salesforce権限設定
- Salesforce 分页
- Salesforce Batchable
- JAVA循环体的过滤器 (continue)
- nfs文件系统的一个错误--无法挂载文件系统,只读文件系统
- XML WebService完全实例详细解析(1)
- 在linux获取并打印usb移动硬盘vid和pid
- 关于开通博客的一点小花絮
- my salesforce
- UML关系(泛化、依赖、关联、聚合、组合)
- 配置linux(suse 11 sp2,linux 3.0)服务端 ,使xmanage可连接linux的共享桌面
- 巧用CSS的Border属性
- struts2 传值方式
- TI davinci DM368 u-boot 编译方法
- JAVA Socket超时浅析
- 使用git进行版本控制--在多台PC上同步源代码
- shell中引号的作用