JAVA从数据库查出来的数据放到实体类想用反射的方法给他们赋值,怎么做?

 我来答
jpsbbt
2015-01-15 · TA获得超过1549个赞
知道小有建树答主
回答量:1060
采纳率:100%
帮助的人:539万
展开全部
说一个大概思路吧:
1.读取数据:从数据库中读取数据的同时,拿到元数据,即metadata;
2.实例化:通过类名,利用反射 实例你的实体类(类名可以和表名保持一致,这样就不用写额外的
映射了),如果你只是想通过反射赋值的话,你也可以直接new个类;
3.方法调用:通过元数据,利用反射 得到你的set方法(方法名可以和字段名保持一致,否则你要写
出映射关系);
更多追问追答
追问
为什么直接过去get方法可以,过去set时报错怎么办。。
追答
可否把错误信息贴出来
兄弟,我看你的问题很眼熟,你是不是在百度知道问过好几次反射的问题呀,另外,我猜你用的是小米手机 ^^
淼淼想某人
2015-01-15 · 超过62用户采纳过TA的回答
知道小有建树答主
回答量:91
采纳率:100%
帮助的人:106万
展开全部
so esay
String path="com.wm.model.User";
Class clazz = class.forName(path);
User a=(User)clazz.new.newinstance(); //User类一定要有个无参构造函数
Method a = clazz.getMethod("SetName", String.class);
a.invoke(a,"张三");
这样就把值传到name里了
追问
哥哥clazz.new.newinstance()是什么。。
我这个复制过来报错!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式