oracle 查询转换位实体
来源:互联网 发布:three.js 360度全景 编辑:程序博客网 时间:2024/06/03 20:04
package com.experian.app.common.util;import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.math.BigDecimal;import java.sql.Timestamp;import java.util.ArrayList;import java.util.Date;import java.util.List;import java.util.Map;import org.hibernate.criterion.DetachedCriteria;import org.hibernate.criterion.Order;import org.hibernate.criterion.Restrictions;import com.experian.activity.util.BeanUtil;public class JavaBeanConvert {/** * Oracle 字段转化为对象 * @param clazz * @param maps * @return * @throws InstantiationException * @throws IllegalAccessException * @throws InvocationTargetException */@SuppressWarnings({ "rawtypes", "unchecked" })public static List convert(Class clazz ,List<Map<String,Object>> maps) throws Exception{List list = new ArrayList();Field[] fds = clazz.getDeclaredFields();Field[] superfds ={};if(clazz.getSuperclass()!=null){superfds = clazz.getSuperclass().getDeclaredFields();}for(int i=0;i<maps.size();i++){Object dto =clazz.newInstance();Map<String,Object> map = maps.get(i);for(int k=0;k<fds.length;k++){Field fd = fds[k];String fieldName =fd.getName();Object fieldValue = map.get(fieldName.toUpperCase());if(fd.getType().equals(BigDecimal.class) && null == fieldValue){fieldValue = BigDecimal.ZERO;}if(!(fd.getType().equals(Date.class) && null == fieldValue)&& !(fd.getType().equals(Timestamp.class) && null == fieldValue)){org.apache.commons.beanutils.BeanUtils.setProperty(dto, fieldName, fieldValue);}}if(superfds.length>0){for(int k=0;k<superfds.length;k++){Field fd = superfds[k];String fieldName =fd.getName();Object fieldValue = map.get(fieldName.toUpperCase());if(fd.getType().equals(BigDecimal.class) && null == fieldValue){fieldValue = BigDecimal.ZERO;}if(!(fd.getType().equals(Date.class) && null == fieldValue)&& !(fd.getType().equals(Timestamp.class) && null == fieldValue)){org.apache.commons.beanutils.BeanUtils.setProperty(dto, fieldName, fieldValue);}}}list.add(dto);}return list;}/** * 构造hibernate参数 * @param obj * @return */@SuppressWarnings("unchecked")public static DetachedCriteria getDetachedCriteria(Object obj){DetachedCriteria dc = DetachedCriteria.forClass(obj.getClass());Map<String, Object> map=BeanUtil.getFiledsInfo(obj);for (Map.Entry<String, Object> entry : map.entrySet()) { dc.add(Restrictions.like(entry.getKey(), entry.getValue()));}dc.addOrder(Order.desc("createTime"));return dc;}@SuppressWarnings({ "rawtypes", "unchecked" })public static DetachedCriteria getDetachedCriteria(Class clazz,Object obj){DetachedCriteria dc = DetachedCriteria.forClass(clazz);Map<String, Object> map=BeanUtil.getFiledsInfo(obj);for (Map.Entry<String, Object> entry : map.entrySet()) { dc.add(Restrictions.like(entry.getKey(), entry.getValue()));}dc.addOrder(Order.desc("createTime"));return dc;}}
SQLQuery query = withholdDetailDao.getCurrSession().createSQLQuery(sql.toString());
List<Map<String,Object>> maps = query.list();List<WithholdContractVO> list =JavaBeanConvert.convert(WithholdContractVO.class, maps);
0 0
- oracle 查询转换位实体
- Oracle查询转换
- Oracle 查询转换初探
- Oracle查询 行列式转换
- oracle 查询转换
- Hibernate查询结果转换为实体类型 (HQL/SQL)
- Hibernate(HQL/SQL)查询结果(Object)转换为实体类型
- spring data jpa 查询自定义字段,转换为自定义实体
- oracle查询时类型转换
- oracle常见查询转换笔记
- Oracle 查询转换 (下)
- oracle 分页查询的方法,以及page实体类
- Oracle查询保留两位小数
- Oracle查询保留两位小数
- Oracle查询保留两位小数
- ORACLE 查询数据 保留两位小数
- oracle CLOB字段转换位VARCHAR
- oracle CLOB字段转换位VARCHAR
- android developer tiny share-20160930
- Halcon学习(五)获取特征点
- UVA 1395 Slim Span(最小生成树)
- Thread.Sleep(0) vs Sleep(1) vs Yeild
- Strom 消息可靠性保障机制和Ack原理
- oracle 查询转换位实体
- CC26xx芯片烧录问题
- js事件归纳
- android 内存泄漏检测
- java中一些常用的英语
- JavaScriptでURLを遷移させる方法
- js中关于数据类型的判断
- 后台查询到的List分装成combotree所需的数据源
- linux常用命令