`

数据源复制Util

    博客分类:
  • JAVA
阅读更多
有时候我们在开发过程中经常会遇到,将一个对象的数据复制到另外一个对象里面去,比如要讲一个对象的数据复制到一个历史记录表里面去,如果我们用set ,get 就比较麻烦,用这个目前类的前提是,javaBean实体里面的属性是相同的才可以复制,这样可以大大提高了我们在开发过程中的数据操作时间。

import java.lang.reflect.Method;
/**
 * 数据源复制util
 * @author weidetian
 * @version 2013-12-16
 */
public class BeanUtil {
	public static void copyProperties(Object source, Object dest)
			throws Exception {
		Method[] sourceMethod = source.getClass().getMethods();
		Method[] destMethod = dest.getClass().getMethods();
		String sourceMethodName, methodFix1, destMethodName2, methodFix2;
		for (int i = 0; i < sourceMethod.length; i++) {
			sourceMethodName = sourceMethod[i].getName();
			methodFix1 = sourceMethodName.substring(3,
					sourceMethodName.length());
			if (sourceMethodName.startsWith("get")) {
				for (int j = 0; j < destMethod.length; j++) {
					destMethodName2 = destMethod[j].getName();
					methodFix2 = destMethodName2.substring(3,
							destMethodName2.length());
					if (destMethodName2.startsWith("set")) {
						if (methodFix2.equals(methodFix1)) {
							Object[] objs2 = new Object[1];
							objs2[0] = sourceMethod[i].invoke(source,
									new Object[0]);
							// 只copy不为空的值
							if (null != objs2[0]) {
								destMethod[j].invoke(dest, objs2);
							}
							continue;
						}
					}
				}
			}
		}
	}


}

1
0
分享到:
评论

相关推荐

    快逸报表在J2EE部署中最简实例

    打开设计器之后, 安装后打开报表设计器,选择配置-数据源-新建-关系数据库,开始配置数据源,笔者用的是mysql,以mysql举例: 其中关键位置如下: 数据源名称要记住,因为在部署的时候,配置数据库时名字要和这保持...

    java jdk实列宝典 光盘源代码

    java为数据结构中的列表定义了一个接口类java.util.list同时提供了3个实现类,分别是ArrayList、Vector、LinkedList使用; 生成不重复的随机数序列;列表、集合与数组的互相转换;java为数据结构中的映射定义一个接口...

    JAVA上百实例源码以及开源项目源代码

    Java二进制IO类与文件复制操作实例 16个目标文件 内容索引:Java源码,初学实例,二进制,文件复制 Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系...

    java范例开发大全源代码

     实例125 将数据保存到指定的文件中 175  实例126 将由键盘中录入的信息保存到文件中 176  实例127 一个文件变成多个小文件 178  实例128 多个小文件合成一个文件 181  实例129 统计指定文件中的字符个...

    dotfiles:设置我的开发环境的文件集合

    点文件 设置我的开发环境的文件集合 安装 先决条件: ... 该文件将被忽略,因此不会意外提交给源代码管理。 确保适当地复制/备份其内容。 MacOS首选项 ./util/macos VS代码首选项 ./util/vscode-extensions

    idl代码与Matlab-ease_project:在EASE文件中复制结果

    这个项目包括我所有与EASE的开发有关的工作:EASE:用于钙成像数据的EM辅助源提取。 该项目最初是为了支持分析为项目收集的数据而启动的。 这里的目标是从钙成像数据中自动提取神经元及其活动,并与分段电子显微镜...

    Java范例开发大全 (源程序)

     实例125 将数据保存到指定的文件中 175  实例126 将由键盘中录入的信息保存到文件中 176  实例127 一个文件变成多个小文件 178  实例128 多个小文件合成一个文件 181  实例129 统计指定文件中的字符个数 ...

    java源码包---java 源码 大量 实例

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

    java源码包2

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码...

    java源码包3

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码...

    java源码包4

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    Java二进制IO类与文件复制操作实例 16个目标文件 内容索引:Java源码,初学实例,二进制,文件复制 Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    Java二进制IO类与文件复制操作实例 16个目标文件 内容索引:Java源码,初学实例,二进制,文件复制 Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系...

    leetcodejava常用-leetcode-helper:leetcode助手

    leetcode ...将leetcode-helper-vX.X文件夹中的所有内容复制到您的工作目录。 如果你的工作目录是干净的,它看起来像, root ├── README.md ├── build.xml ├── demo/ │  └── two_sum/ │

    leetcode-leetcode-helper:节省您为每个leetcode问题构建脚手架的时间

    将leetcode-helper-vX.X文件夹中的所有内容复制到您的工作目录。 如果你的工作目录是干净的,它看起来像, root ├── README.md ├── build.xml ├── demo/ │  └── two_sum/ │  └──

    JAVA上百实例源码以及开源项目

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

    安卓开发--Android连连看游戏源码(附赠参考实验报告).zip

    主要是根据游戏的状态数据绘制界面上的方块,GameView继承了View组件,重写View组件上的onDraw(Canvas canvas)方法,绘制游戏里的其它方块,还负责绘制连接方块的连接线。 13. yinhe.llk.view.Piece类: 一个Piece...

    springmybatis

    mybatis实战教程mybatis in action之三实现数据的增删改查 mybatis实战教程mybatis in action之四实现关联数据的查询 mybatis实战教程mybatis in action之五与spring3集成附源码 mybatis实战教程mybatis in action之...

    Java范例开发大全(全书源程序)

    实例125 将数据保存到指定的文件中 175 实例126 将由键盘中录入的信息保存到文件中 176 实例127 一个文件变成多个小文件 178 实例128 多个小文件合成一个文件 181 实例129 统计指定文件中的字符个数 183 实例...

Global site tag (gtag.js) - Google Analytics