JavaBean对象与jfinal的Record对象互转
JavaBean转Record方法
public static Record javaBeanToRecord(Object obj) throws IllegalArgumentException, IllegalAccessException{if(obj != null){Record record = new Record();Class clazz = obj.getClass();Field[] fields = clazz.getDeclaredFields();for(int i=0; i<fields.length; i++){Field field = fields[i];if(!field.isAccessible()) {field.setAccessible(true);}System.out.println(field.getName()+" : "+field.get(obj));record.set(field.getName(), field.get(obj));}return record;}return null;}
Record转JavaBean方法
public static Object recrodToJavaBean(Record record, Class clazz) throws InstantiationException, IllegalAccessException, NoSuchFieldException, SecurityException{if(record != null){Object obj = clazz.newInstance();String[] columns = record.getColumnNames();for(String col: columns){Field field = clazz.getDeclaredField(col);if(field != null){if(!field.isAccessible()){field.setAccessible(true);}field.set(obj, record.getObject(col));}}return obj;}return null;}
package com.idata.ground.util;import java.lang.reflect.Field;import com.jfinal.plugin.activerecord.Record;
/*** * @ClassName: RecordUtils* @Description: Record相关工具类**/
public class RecordUtils {/*** * @Title: ModelToRecord* @Description: javaBean对象转Record对象;* @param obj* @return* @throws IllegalArgumentException* @throws IllegalAccessException Record*/public static Record javaBeanToRecord(Object obj) throws IllegalArgumentException, IllegalAccessException{if(obj != null){Record record = new Record();Class clazz = obj.getClass();Field[] fields = clazz.getDeclaredFields();for(int i=0; i<fields.length; i++){Field field = fields[i];if(!field.isAccessible()) {field.setAccessible(true);}record.set(field.getName(), field.get(obj));}return record;}return null;}/*** * @Title: RecrodToModel* @Description: Record对象转javaBean对象* @param record* @param clazz* @return* @throws InstantiationException* @throws IllegalAccessException* @throws NoSuchFieldException* @throws SecurityException Object*/public static Object recrodToJavaBean(Record record, Class clazz) throws InstantiationException, IllegalAccessException, NoSuchFieldException, SecurityException{if(record != null){Object obj = clazz.newInstance();String[] columns = record.getColumnNames();for(String col: columns){Field field = clazz.getDeclaredField(col);if(field != null){if(!field.isAccessible()){field.setAccessible(true);}field.set(obj, record.getObject(col));}}return obj;}return null;}
}
JavaBean对象与jfinal的Record对象互转相关推荐
- 总结的一些json格式和对象/String/Map/List等的互转工具类
总结的一些json格式和对象/String/Map/List等的互转工具类,有需要的可以看看,需要引入jackson-core-asl-1.7.1.jar.jackson-jaxrs-1.7.1.ja ...
- json 解析 转java对象数组对象数组对象_json字符串转java对象数组
需要引入json-lib-2.2-jdk15.jar和ezmorph-1.0.6.jar包 String itemStar = request.getParameter("itemStar& ...
- Java提高—对象克隆(复制)/对象属性拷贝
对象克隆(复制)假如说你想复制一个简单变量.很简单: int apples = 5; int pears = apples; 不仅仅是int类型,其它七种原始数据类型(boolean,char,byt ...
- JFinal Db + Record模式 - ORM 框架
// 创建name属性为James,age属性为25的record对象并添加到数据库 Record user = new Record().set("name", "Ja ...
- python中对象的特性_python面对对象-三大特性
python面向对象的三大特性:继承,封装,多态. 1. 封装: 把很多数据封装到一个对象中. 把固定功能的代码封装到一个代码块, 函数, 对象, 打包成模块. 这都属于封装的思想. 具体的情况具体分 ...
- 有原型的对象和没有原型的对象
在学习Mobx时接触到了有原型对象和没原型的对象概念 声明一个对象 1 let o = Object.create({}) // 方法一 2 let o = {} // 方法二3 let o = Ob ...
- python哪些是可变对象_python的不可变对象与可变对象及其妙用与坑
先上图. 图里,分别用三个整数进行了验证.可以发现当a和b值相同时,a与b地址也一致.改变a的值,a的地址也跟着改变了. 原因 python的宗旨之一,万物皆对象.(单身狗狂喜) 而对象又被分为可变对 ...
- 对象存储HTML自定义属性,设置对象属性_对象存储服务 OBS_SDK参考_Node.js_上传对象_华为云...
开发过程中,您有任何问题可以在github上提交issue,或者在华为云对象存储服务论坛中发帖求助.接口参考文档详细介绍了每个接口的参数和使用方法. 您可以在上传对象时设置对象属性.对象属性包含对象长 ...
- TensorFlow中的对象检测教程:实时对象检测
导言 创建能够在单个图像中识别和定位多个对象的精确机器学习模型仍然是计算机视觉中的核心挑战.但随着最近深度学习的进步,对象检测应用程序比以往更容易开发.TensorFlow的对象检测API是一个构建与 ...
最新文章
- 【NLP】BERT 模型与中文文本分类实践
- 如何编写testbench的总结(非常实用的总结)
- Think in Java读书笔记--隐藏实施过程
- Struts2中EL表达式的取值范围问题
- 幼师学计算机心得体会怎么写,幼儿教师学习心得
- 【白皮书分享】2022年中国品质直播选型与应用白皮书.pdf(附下载链接)
- Python的底气,是从哪儿来的?
- 大数据和商业智能BI有什么关系
- 实习踩坑之路:parallelStream并发流+快速失败导致线上CPU300%的血泪史
- 《图解算法》第11章之 接下来如何做
- springboot+vue整合百度的Ueditor(保姆级教程)
- 我做的通用象棋连线器,可以连接到游戏大厅
- 萧条下的养殖业成就兽药电子商务新时代
- win10无线投屏_原来小米的投屏功能,如此强大,每天都偷偷用,秒杀4k电视
- 北京今年将新建提升1000个生活性服务业网点
- 机器学习——优化算法:牛顿法-伪代码描述算法
- vue 替换路由地址参数(动态修改路由参数)
- RT-Thread实战笔记|LD3320非限定词条语音控制器使用详解
- 上方网首发:TestBird《2015年度手游测试白皮书》
- 解决github提交项目是出现10053的问题
热门文章
- 刚子扯扯蛋:说下百度对网站原创文章的个人感受
- 全国信息化和软件服务业工作座谈会召开
- 11_ue4天空球的使用
- 织梦DEDECMS 整合Kindeditor编辑器美化版nkeditor版可H5多图上传摒弃SWF上传
- Android_使用Android killer破解apk
- 长知识啦——自己动手写分类模型
- notepad++ 16进制数字加前缀0x
- 今天看漫画不爽,操起ruby...
- php获取优酷剧集方法,优酷获取剧集例程源码
- 编写一个C 程序,并使用系统调用fork()创建一个子进程