dwf怎么合成一个_将ActionForm拼合成一条插入和更新语句

package chs.jhsyss.form;

import java.lang.reflect.InvocationTargetException;

import java.lang.reflect.Method;

import java.util.Date;

public class Waper {

public Waper(){

}

/**

* 本方法用于将FORM对象组装成一条INSERT语句

* @param obj ActionForm 以及其子对象

* @param formPath  ActionForm 以及其子对象的包路径和名称

* @param tableName  所要操作的数据表

* @return 返回相应的INSERT语句

*/

public String insert(Object obj,String formPath,String tableName){

long start  = new Date().getTime();

String sqlToVar = "insert into "+tableName+"(";

String sqlToValues = " ) values(";

Class $fj = null;

try {

$fj = Class.forName(formPath);//example "chs.jhsyss.form.FJhsyss"

} catch (ClassNotFoundException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

Class clazz = obj.getClass();

Method[] method = clazz.getDeclaredMethods();

for(int i=0;i

String methodName = method[i].getName();

if(methodName.indexOf("get")<0){

continue;// 除去非get方法

}else{

try {

Method m = $fj.getMethod(methodName, null);//根据指定的方法名取得相应方法

String $methodName = methodName.toLowerCase().substring(3,methodName.length());//裁剪getXXX方

法取得相应变量名称

try {

String result = (String) m.invoke(obj, null);//调用方法,前一个参数代表传进来的FORM对

象,后一个为传递给方法的参数;返回结果为原来方法相应的返回值

sqlToVar+=$methodName+",";

sqlToValues+="'"+result+"',";

} catch (IllegalArgumentException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IllegalAccessException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (InvocationTargetException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

} catch (SecurityException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (NoSuchMethodException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

sqlToVar=sqlToVar.substring(0,sqlToVar.length()-1);

sqlToValues=sqlToValues.substring(0,sqlToValues.length()-1)+")";

long end = new Date().getTime();

System.out.println("插入操作花费总时间->"+(end-start)+"

System.out.println(sqlToVar+sqlToValues);

return sqlToVar+sqlToValues;

}

public String update(Object obj,String formPath,String xh,String tableName){

long start = new Date().getTime();

String sqlToVar = "update "+tableName+" set ";

Class $clazz = null;

try{

$clazz = Class.forName(formPath);

}catch(ClassNotFoundException e){

e.printStackTrace();

}

Class clazz = obj.getClass();

Method[] method = clazz.getDeclaredMethods();

for(int i = 0;i

String methodName = method[i].getName();

if(methodName.indexOf("get")<0){

continue;// 除去非get方法

}else{

try {

Method m = $clazz.getMethod(methodName, null);

String $methodName = methodName.toLowerCase().substring(3,methodName.length());//裁剪

getXXX方法取得相应变量名称

String result = (String) m.invoke(obj, null);

sqlToVar+=$methodName+"='"+result+"',";

} catch (SecurityException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (NoSuchMethodException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}//根据指定的方法名取得相应方法

catch (IllegalArgumentException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IllegalAccessException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (InvocationTargetException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

sqlToVar=sqlToVar.substring(0,sqlToVar.length()-1)+" where xh="+xh;

long end = new Date().getTime();

System.out.println("更性操作花费总时间->"+(end-start)+"

System.out.println("SQL->"+sqlToVar);

return sqlToVar;

}

public static void main(String[] args){

FJhsyss fj = new FJhsyss();

fj.setBcrq("20050202");

fj.setDwfzr("fafa");

fj.setGnjygr("fafa");

fj.setGnjyls("2000");

fj.setXh("seq_hqjc_jhsyss,");

String seq = "seq_hqjc_jhsyss.nextval";

String path = "chs.jhsyss.form.FJhsyss";

Waper r = new Waper();

r.insert(fj,path,"MYTABLE");

r.update(fj, path, "1", "mytable");

}

}

posted on 2007-07-04 18:13 小鸟 阅读(183) 评论(0)  编辑  收藏

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/381524.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WebHelper类

成员一&#xff1a;获取上下文对象&#xff1a; public static HttpContext GetContext() { HttpContext context HttpContext.Current; if (context null) { throw new Exception("HttpContext not found"…

关联查询数据重复怎么办_在设计数据表的时候,是一个宽表好,还是多个维度表好?...

数据仓库每张表的搭建&#xff0c;主要依赖于这个表在整个数据仓库中的作用和相关意义。首先要清楚这个表的存在是为了解决那些问题&#xff0c;什么角色使用&#xff0c;怎么保证使用者尽可能好的体验解决问题。从以上所提到的角度去看待问题&#xff0c;拆解以下几点因素&…

[Beego] [bootstrap-paginator]实现分页功能

说明 在开发中分页功能几乎是必不可少的一项功能&#xff0c;使用beego框架开发时&#xff0c;就遇到了分页功能的需求。可能是之前版本并不支持&#xff0c;我发现有很多自己实现的分页功能的封装&#xff0c;在阅读了官方源码时&#xff0c;我发现了分页功能的封装&#xff0…

电磁波传播相位是否会变化_相位常数β与波数k是一回事吗?

1.相位常数β与波数k先明确一点&#xff1a;相位常数是指传输线&#xff0c;而波数是指平面波。1.1. 波数k wavenumber波数k&#xff1a;单位长度上有多少弧度&#xff1f;Jun.14.2019电磁波在材料中以光速 运动&#xff1a;材料的磁导率&#xff1a;材料的介电常数in free spa…

c#获取系统时间的方法

转:http://bbs.bc-cn.net/viewthread.php?tid238469 //今天DateTime.Now.Date.ToShortDateString();//昨天&#xff0c;就是今天的日期减一DateTime.Now.AddDays(-1).ToShortDateString();//明天&#xff0c;同理&#xff0c;加一DateTime.Now.AddDays(1).ToShortDateString()…

用python画出叶子_太疯狂了!原来用粉笔画画,也可以这么美,简单几招教你,美到邻居羡慕嫉妒...

......点进来之前先让大家瞧瞧相信这是用粉笔画的吗&#xff1f;▼玫瑰花▼山茶花▼蓝色鸢尾花▼樱花树▼这一张张让人直流鼻血的作品没错这就是用色粉笔画出来的很多人问&#xff1a;是不是平时老师上课时用的粉笔呢&#xff1f;这里给大家科普下&#xff1a;色粉画&#xff0…

jsonp react 获取返回值_必须要会的 50 个React 面试题(下)

翻译&#xff1a;疯狂的技术宅原文&#xff1a;https://www.edureka.co/blog/interview-questions/react-interview-questions29. 你对受控组件和非受控组件了解多少&#xff1f;受控组件非受控组件1. 没有维持自己的状态1. 保持着自己的状态2.数据由父组件控制2.数据由 DOM 控…

ASP.Net ListBox DropdownList 不同条目 设置 背景色 和 字体颜色

转载于:https://www.cnblogs.com/sjcatsoft/archive/2008/11/08/1329787.html

[jQuery] 根据表单的不同参数跳转不同的链接

说明 在实现前端的时候&#xff0c;我们有些需求是这样的&#xff1a; 1. 需要表单来向服务端get或post参数 2. 表单数据不只一个 3. 需要根据不同的提交的数据参数、类型等信息提交到不同 思路 把请求放到后端处理是可以的&#xff0c;但是显然这样处理会增加系统的复杂度&…

snipaste截图软件滚动截图_截图工具的逆袭,Snipaste 还可以这么玩

这是我们的历史文章。为让大家更好找到自己需要的软件&#xff0c;我们会在三条位置推送&#xff0c;那些备受关注的APP和软件。提到「截图」大家会想到什么呢&#xff1f;微信&#xff0c;QQ 或者 功能更加完善的截图工具&#xff1f;有想过「截图」可以这样用吗&#xff1f;还…

python的函数_Python 返回函数+匿名函数

返回函数 粗粗看了一遍学习资料&#xff0c;感觉返回函数的意思好理解&#xff0c;但是实际应用起来就有点麻烦了。 先捋一捋思路叭。 首先&#xff0c;高阶函数除了能接收函数作为参数外&#xff0c;也能将函数作为结果值返回。 函数作为返回值 拿 求和 做个简单的例子&#x…

简述WebService与.NET Remoting的区别及适应场合

为了能清楚地描述Web Service 和Remoting之间的区别,我打算从他们的体系结构上来说起: Web Service大体上分为5个层次: 1. Http传输信道 2. XML的数据格式 3. SOAP封装格式 4. WSDL的描述方式 5. UDDI 总体上来讲&#xff0c;.NET 下的 Web Service结构比较简单&#xff0c;也比…

[Golang]计算一个文件的MD5值

说明 在实际的开发过程中&#xff0c;总需要对文件进行md5加密的需求&#xff0c;在开发过程中&#xff0c;我就遇到了将表单文件MD5后再存储本地的需求。 解决 MD5的所需要的包在”crypto/md5”包中&#xff0c;需要先实例化一个MD5对象&#xff0c;然后在此基础上调用sum方法…

lisp捕捉垂足_定位-'Cal计算器

命令CAL&#xff0c;右键菜单选择“快速计算器”或CTRL8都可以打开计算器。使用 CAL 命令&#xff0c;用户可以&#xff1a;一.)获取点1.使用光标获取点用 cur 函数。程序会提示用户指定点并使用当前的 UCS 点的坐标值。cur 函数用于设置系统变量 lastpoint的值。2.获取交点ill…

plsql developer无监听程序_微信小程序支持分享到朋友圈啦!技术解读跟我来

千呼万唤始出来&#xff01;微信小程序页面分享到朋友圈的功能&#xff0c;终于在安卓系统灰度测试了&#xff01;目前只在安卓系统&#xff01;只在安卓系统&#xff01;只在安卓系统&#xff01;iOS系统还没有办法体验。首先&#xff0c;我们看一下官方文档的描述&#xff0c…

色彩的搭配

色彩的搭配是一门艺术&#xff0c;灵活运用它能让你的主页更具亲和力。当然这篇文章的内容还只限于理论&#xff0c;要想真的制作出漂亮的网页则需要灵活运用加上自己的创意才行。如果你有什么收获的话&#xff0c;可别忘了介绍给广大读者啊。 色彩的含义   色彩本身…

[读书笔记][golang]《go语言-云动力》

花了一些时间&#xff0c;读了樊剑虹的《go语言-云动力》&#xff0c;就这本书的整体情况来讲&#xff0c;还是值得读一读的&#xff0c;书中讲了一些另辟蹊径的东西&#xff0c;这可能是其他go语言书中不曾有的东西&#xff0c;但是就专业性来讲&#xff0c;是不值得推荐读的&…

mixin network_【译文】Mixin——以最高的安全性满足所有区块链资产的交易需求

一个免费的闪电般快速的数字资产端对端交易网络。01.概况Mixin 由一个理论上永久的内核、许多动态域和不同的多用途域扩展组成&#xff0c;以构成扩展的星形拓扑结构。Mixin Network 已经支持 BTC&#xff0c;BCH&#xff0c;ETH&#xff0c;EOS&#xff0c;ETC&#xff0c;SC&…

python脚本编程实例_C程序调用Python脚本的例子

下面我们一起来看看关于C程序调用Python脚本的例子&#xff0c;如果你对此有兴趣的希望此教程对各位同学会有所帮助。代码如下复制代码#include int main(){PyObject * g_pModule NULL;Py_Initialize(); //使用python之前&#xff0c;要调用Py_Initialize();这个函数进行初始化…

[golang]nil slice和empty slice的区别

前言 在开发的时候&#xff0c;会遇到对于nil slice和empty slice的问题&#xff0c;往往在声明了slice之后&#xff0c;在使用的时候却出现了问题。 问题 以下是错误的用法&#xff0c;会报数组越界的错误&#xff0c;因为只是声明了slice&#xff0c;却没有给实例化的对象&am…