public class BeanProperty {
private static final String FILTER_REG = "serialVersionUID";
public static List<?> arrayCastBean(String dir,List<Object[]> list) {
List<Object> result = new ArrayList<Object>();
boolean flag = false;
try {
Class<?> clazz = Class.forName(dir);
Object obj = null;
Field[] fields = clazz.getDeclaredFields();
if(fields[0].getName().equals(BeanProperty.FILTER_REG)){
flag = true;
}
for(Object[] values : list){
obj = clazz.newInstance();
for(int i=0;i<fields.length;i++){
if(!fields[i].getName().equals(BeanProperty.FILTER_REG)){
PropertyDescriptor pd = new PropertyDescriptor(fields[i].getName(), clazz);
Method m = pd.getWriteMethod();
m.invoke(obj, values[flag?(i-1):i]==null?"":values[flag?(i-1):i].toString());
}
}
result.add(obj);
}
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
} catch (IllegalAccessException e2) {
e2.printStackTrace();
} catch (InstantiationException e3) {
e3.printStackTrace();
} catch (IllegalArgumentException e6) {
e6.printStackTrace();
} catch (IntrospectionException e4) {
e4.printStackTrace();
} catch (InvocationTargetException e5) {
e5.printStackTrace();
}
return result;
}
最后将返回的list强转成你传的地址的javabean就可以了
分享到:
相关推荐
本文将深入探讨Hibernate中实现多表查询的各种方法,包括Object[]形式、对象方式以及集合list形式的查询。 ### 1. Object[]形式的查询 Object[]形式的查询适用于简单的联接查询,返回的结果是一个对象数组,每个...
本文将深入探讨如何通过配置优化Hibernate的多表查询,以提高应用的性能。 1. **联合查询优化**: 在进行多表查询时,Hibernate默认可能会生成多个单表查询,这会导致大量的数据库往返,降低效率。通过配置`@Join...
如果查询结果是多对一或一对多的关系,那么返回的对象可能会包含关联的对象集合。 而当查询涉及两个以上字段时,情况就变得更加复杂。这可能是为了执行更复杂的筛选,例如查找年龄大于30且工资高于5000的员工。这种...
- HQL则在处理复杂查询,特别是涉及到多个表关联时,表现更出色,能够更直观地表达业务逻辑。 在实际开发中,可以根据项目需求和团队成员的熟悉程度来选择合适的查询方式。有时,两者结合使用也能发挥更大的优势,...
HQL支持复杂的查询结构,如分组、排序、联接等,并且可以返回单个对象、对象集合或者基本类型的结果。 **在线查询(也叫对象查询)**是指在运行时执行的查询,通常与用户的交互有关。例如,用户在网页上输入搜索...
总之,Hibernate的HQL为Java开发人员提供了一种强大且灵活的查询工具,它允许我们在处理持久化对象时,无需直接编写SQL,从而降低了代码与数据库之间的耦合,提高了开发效率。通过熟练掌握HQL,开发者可以更好地利用...
- `load()`方法在一个事务中返回的对象是同一个代理对象,即`c1`和`c2`指向的是同一个对象。 - 因此,打印结果是C) `true`。 #### 7. 更新语句的数量 - **程序分析**: - 由于`setName()`方法的调用发生在同一...
- **关联查询**:处理一对多、一对一、多对多等关联关系的查询。 4. **条件查询** - 使用WHERE子句指定查询条件,支持比较操作符(=、<、>、、>=、!=)、逻辑操作符(AND、OR、NOT)以及IN、BETWEEN、LIKE等。 5...
##### 限制每次查询的返回对象数 可以使用`LIMIT`关键字限制返回的结果数量: ```hql SELECT s FROM Student s LIMIT 5; ``` 这将仅返回前5条学生记录。 ##### 绑定参数 参数绑定提高了查询的安全性和灵活性: ...
Hibernate Query Language(HQL)是Hibernate框架中用于查询对象关系映射(ORM)的语句,它是面向对象的,与SQL类似但更专注于处理持久化对象。HQL提供了丰富的功能,包括从简单对象检索到复杂的统计计算。 1. **...
- cascade属性用于设置级联行为,当设置为`save-update`时,Hibernate会在保存或更新父对象时自动处理集合中的子对象。 5. **Session的方法**: - Session是Hibernate的主要工作接口,包括`load()`、`save()`、`...
而`iterate`返回一个迭代器,每次调用`next()`方法时才从数据库中获取一条记录,这种方式叫做分页查询,适合处理大数据量的情况,能有效避免内存溢出。不过,由于`iterate`会进行多次查询,所以对于频繁的写操作,...
HQL 是一种面向对象的查询语言,它支持标准 SQL 的大部分功能,并添加了一些额外的功能,如对象导航、集合投影等。本文将深入探讨 HQL 的几个关键方面,包括基本的查询语法、连接操作以及聚合函数等。 #### 基本...
它还支持返回结果集,可以将其转化为List、Map或其他类型的集合,以便与Java对象进行映射。 接下来,我们来看看BaseDaoSupport类。在许多企业级应用中,为了提高代码的复用性和可维护性,通常会创建一个基础DAO...
通过HQL,开发者可以方便地进行复杂的查询,并返回对象集合。 2. **Query接口** 在Hibernate中,执行HQL查询主要通过`Session`对象的`createQuery()`或`createNativeQuery()`方法。查询结果可以通过调用`list()`或...
对于一对多关系或者多对多关系中的集合,延迟加载同样重要。这是因为,如果不使用延迟加载,加载一个实体可能会导致所有相关联的实体都被加载到内存中,从而严重影响性能。 **配置方式:** 要启用集合类型的延迟...
这两种方法基于给定对象实例的属性值来查找匹配的对象集合。`exampleEntity` 参数代表了一个示例对象,它的非空属性将作为查询条件。`findByExample()` 返回所有符合条件的对象,而 `findByExample(..., ...
3. **结果集映射**: 结合Hibernate的HQL或Criteria查询,可以将查询结果直接转换为Java对象,然后通过Struts传递给视图。 这个"struts+hibernate开发的项目源代码集合"包含了5个实例,可以作为学习和参考的宝贵资源...