`

Hibernate多属性设值解决方案

阅读更多

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 多数据库支持解决方案

    未来 Hibernate是一个强大的Java持久化框架...以上各点提供了实现这一目标的基础,但实际项目中可能还需要解决更多特定于数据库的问题。通过良好的设计和测试,可以确保Hibernate应用程序在多种数据库环境下稳定运行。

    HibernateSpring多数据库解决方案.doc

    总结起来,这个多数据库解决方案利用Spring的IoC容器管理和配置了多个数据源,同时结合Hibernate提供了ORM功能。通过`OpenSessionInView`模式,确保了Web请求中的持久化操作能在合适的Session上下文中进行。这样的...

    hibernate常见错误解决方案

    ### Hibernate常见错误解决方案 在开发基于Hibernate框架的应用程序时,我们经常会遇到各种各样的异常情况。这些异常不仅会影响系统的正常运行,还可能增加调试难度。本文将针对几个常见的Hibernate异常进行详细...

    hibernate错误解决方案

    ### Hibernate 错误解决方案 #### 一、概述 在使用Hibernate框架进行开发的过程中,经常会遇到各种各样的异常问题。这些问题可能会导致程序无法正常运行,甚至影响到系统的稳定性。本文将针对几个常见的Hibernate...

    hibernate的中文问题的解决方案

    ### Hibernate中文问题解决方案 在开发基于Java的应用程序时,Hibernate作为一个强大的对象关系映射(ORM)框架被广泛采用。然而,在处理中文字符时,开发者可能会遇到各种各样的问题,如乱码显示等。本文将详细...

    Hibernate下数据批量处理解决方案

    一种解决方法是设置JDBC批处理大小,通过`hibernate.jdbc.batch_size`属性,例如将其设置为20。这意味着每处理20个对象,就会执行一次批处理SQL插入。在代码中,我们需要在适当的时候调用`flush()`和`clear()`方法,...

    Struts+Spring+Hibernate通用分页解决方案

    5. **通用性**:为了使分页解决方案具有通用性,我们需要抽象出一个公共的分页类或接口,包含总记录数、当前页、每页大小等属性,以及相应的获取和设置方法。这样,不同的数据查询只需要传入对应的查询条件和分页...

    Hibernate延迟加载以及利用Spring

    - `lazy="proxy"`:表示Hibernate将为`Dept`实体创建一个代理对象,只有当真正访问到`Dept`对象的相关属性时,Hibernate才会发起数据库查询,加载实际的`Dept`对象。 - `fetch="select"`:默认值,表示在查询`Emp`时...

    hibernate实现动态表查询的多种解决方案

    ### Hibernate 实现动态表查询的多种解决方案 #### 一、前言 在使用Hibernate进行数据库操作时,我们经常需要根据不同的需求对不同的表进行查询。特别是在处理多表、多库等复杂场景时,如何实现动态表查询就显得尤...

    Hibernate 删除出现异常的解决方案.doc

    如果在多对一(many-to-one)关系中,many对象没有设置级联属性或者设置为none,当尝试删除one对象时,Hibernate无法自动处理many对象的删除。在这种情况下,可以考虑在many对象的映射文件中增加级联属性,但需要...

    Java EE -Hibernate 开源解决方案-Note.doc

    《Java EE - Hibernate 开源解决方案》 在Java EE的开发世界中,Hibernate作为一个强大的开源对象关系映射(ORM)框架,极大地简化了数据库操作。本文档旨在深入探讨Hibernate的基本概念、工作原理以及如何在Java ...

    Hibernate Hibernate5 讲义 PDF

    因此,除了对象序列化外,还有JDBC直接操作和ORM等持久化解决方案。 ORM框架,比如Hibernate,是对象持久化的高级抽象。它通过将业务数据映射为内存中的对象,并使用面向对象的方式来操作这些数据。ORM的优势在于...

    org.hibernate.HibernateException: No Hibernate Session bound to thread

    Hibernate Session 绑定线程解决方案 在 Java web 开发中, Hibernate 是一个非常流行的 ORM(Object-Relational Mapping)框架,用于将 Java 对象映射到关系数据库中。然而,在使用 Hibernate 进行数据库操作时,...

    Hibernate错误及解决办法集合

    ### Hibernate常见错误及解决办法 #### 一、Nodefaultconstructorforentity 错误 **问题描述**:在使用...通过以上分析和解决方案,可以有效地解决Hibernate开发过程中常见的错误,提高开发效率和系统的稳定性。

    JPA + Hibernate 3 CRUD操作历史审计日志的解决方案

    在Java开发中,Java Persistence API (JPA) 和 Hibernate 是两个非常重要的框架,它们用于对象关系映射(ORM)和数据库交互。JPA是Java EE规范的一部分,提供了一种标准的方式来管理和持久化Java对象,而Hibernate是...

    hibernate 自动导入 sql 文件 import.sql 国际化编码的问题的解决方案

    为了实现这一功能,需要在`hibernate.cfg.xml`配置文件中设置如下属性: ```xml &lt;property name="hbm2ddl.auto"&gt;create ``` 或者 ```xml &lt;property name="hbm2ddl.auto"&gt;create-drop ``` 这样配置后,Hibernate...

    hibernate权威整理文档!

    Hibernate作为一个轻量级的Java EE解决方案,广泛应用于各种项目中。 二、初识Hibernate 1. Hibernate环境搭建 要开始使用Hibernate,首先需要下载Hibernate的开发包(如3.6.10版本)以及相关的依赖库,包括Slf4j...

    解决Hibernate对于Date类型的数据返回结果中时分秒不对的问题

    这个问题通常源于多个因素,包括日期时间的序列化与反序列化过程、时区设置、以及Hibernate的配置等。以下我们将详细探讨这个问题的成因及解决方案。 1. **日期时间序列化与反序列化**: Hibernate在处理Date对象...

    hibernate3中文官方文档

    Hibernate 是一个开源的、强大的 ORM 解决方案,它允许开发者用 Java 对象来操作数据库,从而简化了数据库编程,提高了开发效率。 这份文档分为多个章节,深入讲解了 Hibernate 的核心概念、配置、实体映射、查询...

    hibernate教程打包下载,史上最全的HIBERNATE

    Hibernate是Java中最流行的ORM解决方案之一,它通过XML或注解方式定义映射,使得对象可以直接在数据库中存取。 3. **Hibernate配置**:教程可能详细讲解如何配置Hibernate,包括创建hibernate.cfg.xml文件,设置...

Global site tag (gtag.js) - Google Analytics