如果是entity里面再套层entity的话,就参照下面写个循环就可以了。另外我只是写了个例子,如果值多的话最好用 Class.forName这个方法,嗯,代码如下:


/** To change this license header, choose License Headers in Project Properties.* To change this template file, choose Tools | Templates* and open the template in the editor.*/
package jp.co.nd.business.artlog;import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import jp.co.nd.lang.RString/*** APログ出力のための業務公開クラスです。<br>* 基本的には、アプリケーションに必要なログは自動的に出力されます。<br>* <br>* 例えば、次のような場合は明示的にこのAPIを呼び出す必要はありません。<br>* <pre>* ・例外に関するログは自動出力します。例外catch時にこのAPIを呼び出す必要はありません。* ・メソッドの呼び出し履歴。R.NETでは全メソッドをtry-catchで囲んでログ出力をしていましたが、必要ありません。* </pre><br>* このAPIを利用するのは、標準で出力されるログとは別に、明示的にログを確実に取得したい場合に呼び出してください。** @author n3565*/
public final class EntityRLogger {private static final RString 開始 = new RString("--------------開始");private static final RString 終了 = new RString("--------------終了");private EntityRLogger() {}/*** APログ出力のための業務公開クラスです。** @param entityName 名* @param entitys リストオブジェクト*/public static void printList(RString entityName, List<Object> entitys) {for (Object entity : entitys) {print(entityName, entity);}}/*** APログ出力のための業務公開クラスです。** @param objectMap オブジェクトマップ*/public static void printMapList(Map<RString, List<Object>> objectMap) {for (Map.Entry<RString, List<Object>> entry : objectMap.entrySet()) {for (Object entity : entry.getValue()) {print(entry.getKey(), entity);}}}/*** APログ出力のための業務公開クラスです。** @param entityName 名* @param entity オブジェクト*/public static void print(RString entityName, Object entity) {RLogger.info(entityName.concat(開始));List<Field> fields = Arrays.asList(entity.getClass().getDeclaredFields());for (Field field : fields) {entity.getClass().getFields();try {String name = field.getName();name = name.substring(0, 1).toUpperCase() + name.substring(1);String type = field.getGenericType().toString();if (type.equals("long")) {Method m = entity.getClass().getDeclaredMethod("get" + name);Long value = (long) m.invoke(entity);if (null != value) {RLogger.info(new RString(name).concat(new RString(":")).concat(String.valueOf(value)));}}if (type.equals("int")) {Method m = entity.getClass().getDeclaredMethod("get" + name);Integer value = (int) m.invoke(entity);if (null != value) {RLogger.info(new RString(name).concat(new RString(":")).concat(String.valueOf(value)));}}if (type.equals("int")) {Method m = entity.getClass().getDeclaredMethod("get" + name);Boolean value = (boolean) m.invoke(entity);if (null != value) {RLogger.info(new RString(name).concat(new RString(":")).concat(value ? new RString("TRUE") : new RString("FALSE")));}}if (type.equals("class jp.co.nd.lang.RString")) {Method m = entity.getClass().getDeclaredMethod("get" + name);RString value = (RString) m.invoke(entity);if (null != value) {RLogger.info(new RString(name).concat(new RString(":")).concat(value));}}} catch (Exception e) {e.getMessage();}}RLogger.info(entityName.concat(終了));}/*** ToObjectの業務公開クラスです。** @param <E> オブジェクト* @param list リスト* @return リストオブジェクト*/public static <E> List<Object> toObject(List<E> list) {List<Object> objlist = new ArrayList<>();for (Object e : list) {Object obj = (Object) e;objlist.add(obj);}return objlist;}
}

调用方法

private void printTemporaryLog(List<OshiraseTempTableEntity> 一時TBLリスト) {EntityRLogger.printList(new RString("一時TBLリスト"), EntityRLogger.toObject(一時TBLリスト));
}

Java 通过反射原理取得entity的值相关推荐

  1. java 反射获取属性名和值_面试官这样问我Java反射原理,我刚好都会

    上周我投递出了简历,岗位是java后端开发工程师.这周美团面试官给我进行了面试,面试过程中他问了Java的反射原理.(不得不夸一句,美团的效率真高,上午面完一面,晚上二面马上安排上了.) 无论什么Ja ...

  2. java中是引用传递还是值传递....

    刚才与Z师兄聊天,他提问: 你说java中是引用传递还是值传递啊? 当时俺搞混了这个"传递"的意思, 本来以为是对象的实例化比如: abc a=new abc(); 这个a 是引用 ...

  3. 解决:java.lang.NoSuchMethodException: gentle.entity.User.<init>()

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1. 运行程序报错: java.lang.NoSuchMethodException: gentle ...

  4. java byte 正数最大_关于JAVA中Byte类型的取值范围的推论(*零为正数,-128在计算机中的表示方法...)...

    先看一段推理 +124:0111 1100 -124:1000 0100 +125:0111 1101 -125:1000 0011 +126:0111 1110 -126:1000 0010 +12 ...

  5. java获取返回xml节点里的值,关于用java读取xml中节点的值解决方案

    关于用java读取xml中节点的值 在写个工程,用到了如下配置的XML文档,时间紧没法网上资料太多一时看了头大,实在不知道怎么解析了,各位大神麻烦指教一下. 配置文档内容如下 hibernate-co ...

  6. 灵魂拷问:如何检查 Java 数组中是否包含某个值 ?

    作者 |  沉默王二 责编 | Elle 在逛 programcreek 的时候,我发现了一些专注细节但价值连城的主题.比如说:如何检查Java数组中是否包含某个值 ?像这类灵魂拷问的主题,非常值得深 ...

  7. selenium+java:获取列表中的值

    selenium+java:获取列表中的值 (2011-08-23 17:14:48) 标签: 杂谈 分类: selenium 初步研究利用java+testNg框架下写selenium测试用例,今天 ...

  8. java给xml加入值,怎么用java读取XML文件里的值并加入jsp页面中的下拉列表中

    如何用java读取XML文件里的值并加入jsp页面中的下拉列表中? 如何用java读取XML文件里的值并加入jsp页面中的下拉列表中? java xml jsp 分享到: ------解决方案---- ...

  9. Cannot autogenerate id of type java.lang.Integer for entity

    在直接对MongoDB中插入实体对象的时候出现了 Cannot autogenerate id of type java.lang.Integer for entity org.springframe ...

最新文章

  1. 同是程序员,不小心发现优点在于工作上10来年都保持【积极主动】的心态
  2. 机器人 知乎碧桂园_从房地产大亨到跨界造“机器人”,碧桂园葫芦里卖着什么药?...
  3. [APIO2010]
  4. java中循环语句_Java语法基础之循环结构语句详解
  5. 试图用Session Administration删除某用户的session时报错
  6. hbase(三)coprocessor
  7. C#开源资源大汇总(1)
  8. 《大学数学遐想》系列之函数与数列
  9. php软件开发--sphinx索引静态化及伪静态
  10. Django登陆以后重定向到请求登陆的页面
  11. 各类型土地利用图例_给排水系统各部件及图纸你还有多少不了解?
  12. paip.提升用户体验----- 密码控件的使用
  13. 善用win7中的资源监视器
  14. Typora自定义主题
  15. 大数据分析常用的工具有哪些(一)
  16. 倪文迪陪你学蓝桥杯2021寒假每日一题:1.25日(2019省赛A组第3题)
  17. C语言代码(打印国际象棋棋盘)
  18. 桥接路由器总是掉线_tp路由器桥接老掉线怎么办
  19. 【Python从入门到精通】二、核心编程:5.正则表达式
  20. UVA - 1471 Defense Lines 贪心+二分

热门文章

  1. 用pageOffice文档控件实现 office文档在线编辑
  2. 传智健康-检查项管理
  3. NOIp模拟赛 西行妖下
  4. 使用迅雷下载API进行快速下载
  5. Ajax图书管理系统-完整代码与细节部分详细讲解
  6. java读取最新网易云音乐API
  7. 一次HBase2.0 RIT故障处理
  8. window开机自动运行python脚本
  9. sourcetrail 开源的代码阅读神器
  10. 心智模型学习:深度探究用户需求的why