1.在jsp页面写一个隐藏域<input type="updateFields" value="name,age,sex,address,phone"/>
隐藏域中的值是需要修改的属性值,分别用逗号隔开
<%@ page language="java" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>修改用户</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>
<body>
<form action="userAction.do" method="post">
<!-- 需要修改的属性值 -->
<input type="hidden" value="name,age,sex,address,phone">
<input type="text" name="id" value="1">
<input type="text" name="name">
<input type="text" name="age">
<input type="text" name="sex">
<input type="text" name="address">
<input type="text" name="phone">
<input type="submit" value="提交">
</form>
</body>
</html>
public class User{
private String id;
private String name;
private String sex;
private String age;
private String address;
private String phone;
//get,set省略...
}
2. 然后在Action里面获取需要修改的属性:
String[] updateFields = request.getParameter("updateFields").split(",");
Hibernate从数据库中把User对象load上来User user = UserService.findUser(request.getParamater("id"));
使用BeanUtils工具类将这些需要修改的属性值注入user里面
然后updateUser对象
public class UserAction extends Action{
public ActionForward execute(ActionMapping mapping, SystemStyle systemStyle, HttpServletRequest request, HttpServletResponse response) {
String[] request.getParameter("updateFields").split(",");
User user = UserService.findUser(request.getParamater("id"));
Map<String String[]> m = request.getParamaterMap();
for(String field:updateFields){
BeanUtils.setProperty(user,field,m.get(field)[0]);
}
UserService.updateUser(user);
return mapping.findForward("userList");
}
}
分享到:
相关推荐
未来 Hibernate是一个强大的Java持久化框架...以上各点提供了实现这一目标的基础,但实际项目中可能还需要解决更多特定于数据库的问题。通过良好的设计和测试,可以确保Hibernate应用程序在多种数据库环境下稳定运行。
总结起来,这个多数据库解决方案利用Spring的IoC容器管理和配置了多个数据源,同时结合Hibernate提供了ORM功能。通过`OpenSessionInView`模式,确保了Web请求中的持久化操作能在合适的Session上下文中进行。这样的...
### Hibernate常见错误解决方案 在开发基于Hibernate框架的应用程序时,我们经常会遇到各种各样的异常情况。这些异常不仅会影响系统的正常运行,还可能增加调试难度。本文将针对几个常见的Hibernate异常进行详细...
### Hibernate 错误解决方案 #### 一、概述 在使用Hibernate框架进行开发的过程中,经常会遇到各种各样的异常问题。这些问题可能会导致程序无法正常运行,甚至影响到系统的稳定性。本文将针对几个常见的Hibernate...
### Hibernate中文问题解决方案 在开发基于Java的应用程序时,Hibernate作为一个强大的对象关系映射(ORM)框架被广泛采用。然而,在处理中文字符时,开发者可能会遇到各种各样的问题,如乱码显示等。本文将详细...
一种解决方法是设置JDBC批处理大小,通过`hibernate.jdbc.batch_size`属性,例如将其设置为20。这意味着每处理20个对象,就会执行一次批处理SQL插入。在代码中,我们需要在适当的时候调用`flush()`和`clear()`方法,...
5. **通用性**:为了使分页解决方案具有通用性,我们需要抽象出一个公共的分页类或接口,包含总记录数、当前页、每页大小等属性,以及相应的获取和设置方法。这样,不同的数据查询只需要传入对应的查询条件和分页...
- `lazy="proxy"`:表示Hibernate将为`Dept`实体创建一个代理对象,只有当真正访问到`Dept`对象的相关属性时,Hibernate才会发起数据库查询,加载实际的`Dept`对象。 - `fetch="select"`:默认值,表示在查询`Emp`时...
### Hibernate 实现动态表查询的多种解决方案 #### 一、前言 在使用Hibernate进行数据库操作时,我们经常需要根据不同的需求对不同的表进行查询。特别是在处理多表、多库等复杂场景时,如何实现动态表查询就显得尤...
如果在多对一(many-to-one)关系中,many对象没有设置级联属性或者设置为none,当尝试删除one对象时,Hibernate无法自动处理many对象的删除。在这种情况下,可以考虑在many对象的映射文件中增加级联属性,但需要...
《Java EE - Hibernate 开源解决方案》 在Java EE的开发世界中,Hibernate作为一个强大的开源对象关系映射(ORM)框架,极大地简化了数据库操作。本文档旨在深入探讨Hibernate的基本概念、工作原理以及如何在Java ...
因此,除了对象序列化外,还有JDBC直接操作和ORM等持久化解决方案。 ORM框架,比如Hibernate,是对象持久化的高级抽象。它通过将业务数据映射为内存中的对象,并使用面向对象的方式来操作这些数据。ORM的优势在于...
Hibernate Session 绑定线程解决方案 在 Java web 开发中, Hibernate 是一个非常流行的 ORM(Object-Relational Mapping)框架,用于将 Java 对象映射到关系数据库中。然而,在使用 Hibernate 进行数据库操作时,...
### Hibernate常见错误及解决办法 #### 一、Nodefaultconstructorforentity 错误 **问题描述**:在使用...通过以上分析和解决方案,可以有效地解决Hibernate开发过程中常见的错误,提高开发效率和系统的稳定性。
在Java开发中,Java Persistence API (JPA) 和 Hibernate 是两个非常重要的框架,它们用于对象关系映射(ORM)和数据库交互。JPA是Java EE规范的一部分,提供了一种标准的方式来管理和持久化Java对象,而Hibernate是...
为了实现这一功能,需要在`hibernate.cfg.xml`配置文件中设置如下属性: ```xml <property name="hbm2ddl.auto">create ``` 或者 ```xml <property name="hbm2ddl.auto">create-drop ``` 这样配置后,Hibernate...
Hibernate作为一个轻量级的Java EE解决方案,广泛应用于各种项目中。 二、初识Hibernate 1. Hibernate环境搭建 要开始使用Hibernate,首先需要下载Hibernate的开发包(如3.6.10版本)以及相关的依赖库,包括Slf4j...
这个问题通常源于多个因素,包括日期时间的序列化与反序列化过程、时区设置、以及Hibernate的配置等。以下我们将详细探讨这个问题的成因及解决方案。 1. **日期时间序列化与反序列化**: Hibernate在处理Date对象...
Hibernate 是一个开源的、强大的 ORM 解决方案,它允许开发者用 Java 对象来操作数据库,从而简化了数据库编程,提高了开发效率。 这份文档分为多个章节,深入讲解了 Hibernate 的核心概念、配置、实体映射、查询...
Hibernate是Java中最流行的ORM解决方案之一,它通过XML或注解方式定义映射,使得对象可以直接在数据库中存取。 3. **Hibernate配置**:教程可能详细讲解如何配置Hibernate,包括创建hibernate.cfg.xml文件,设置...