`

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");
	}
}

 

 

 

 

分享到:
评论

相关推荐

    Spring攻略(第二版 中文高清版).part2

    1.1.2 解决方案 1 1.1.3 工作原理 3 1.2 配置Spring IoC容器中的Bean 4 1.2.1 问题 4 1.2.2 解决方案 4 1.2.3 工作原理 4 1.3 调用构造程序创建Bean 14 1.3.1 问题 14 1.3.2 解决方案 14 1.3.3 ...

    Spring攻略(第二版 中文高清版).part1

    1.1.2 解决方案 1 1.1.3 工作原理 3 1.2 配置Spring IoC容器中的Bean 4 1.2.1 问题 4 1.2.2 解决方案 4 1.2.3 工作原理 4 1.3 调用构造程序创建Bean 14 1.3.1 问题 14 1.3.2 解决方案 14 1.3.3 ...

    ssh(structs,spring,hibernate)框架中的上传下载

     以上是Spring+Hibernate将文件二进制数据持久化到数据库的解决方案,而Struts通过将表单中file类型的组件映射为ActionForm中类型为org.apache.struts.upload. FormFile的属性来获取表单提交的文件数据。  工程...

    Hibernate与数据库的触发器协同工作

     解决方案: 在执行完 Session 的相关操作后, 立即调用 Session 的 flush() 和 refresh() 方法, 迫使 Session 的缓存与数据库同步(refresh() 方法重新从数据库中加载对象)  2、update() 方法盲目地激发...

    CRUD-HibernateJPA:使用HibernateJPA框架进行对象关系映射的Java(Maven)中的CRUD

    创建它是为了使这些解决方案标准化。 Hibernate: Hibernate是一种用Java语言编写的对象关系映射框架,它通过使用文件(XML)或Java注释来促进传统关系数据库和应用程序的对象模型之间的属性映射。

    北京中科信软AJAX培训

    Web应用程序的解决方案 Ajax的工作方式 基于各种Web解决方案的Ajax技术选择路线 Ajax核心技术-XML XML与Ajax 文档类型定义及声明 XML名域 操纵和解析XML 选择合适的XML生成方式 XHTML与CSS XHTML、CSS与Ajax XHTML与...

    spring最小版所需包

    Spring的数据访问架构还集成了Hibernate和其他O/R mapping解决方案。Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者JDBC事务提供一个一致的编程模型。Spring提供了一个用标准Java...

    java教程

    Spring的数据访问架构还集成了Hibernate和其他O/R mapping解决方案。Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者JDBC事务提供一个一致的编程模型。Spring提供了一个用标准Java...

    Java开发热门项目

    Spring的数据访问架构还集成了Hibernate和其他O/R mapping解决方案。Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者JDBC事务提供一个一致的编程模型。Spring提供了一个用标准Java...

    accessify:一个工具库,可通过名称快速访问对象属性

    在很多情况下,我需要实现自己的DAO子集以使用大多数ORM或OCM都未涵盖的模式(尤其是在使用序列化对象或使用鲜为人知的NoSQL解决方案时)。 经常出现的功能是弄清楚如何通过名称而不使用反射来访问字段和属性...

    Java开源--常见J2EE框架简介

    SpringFramework Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是...Spring的数据访问架构还集成了Hibernate和其他O/Rmapping解决方案。

    高效Java数据访问组件Uncode-DAL全功能源码

    Uncode-DAL是一个功能全面的Java数据访问层组件,它深度整合了MyBatis、Spring JDBC以及Hibernate等主流ORM框架,致力于为开发者提供一套简便、高效的数据操作解决方案。该组件支持多数据源配置,能够实现读写分离、...

    java面试题

    并发问题解决方案 59 71.7. Hibernate是如何延迟加载? 60 71.8. Hibernate中怎样实现类之间的关系?(如:一对多、多对多的关系) 60 71.9. 说下Hibernate的缓存机制 60 71.10. Hibernate的查询方式 60 71.11. 如何...

    agile_project:初级职位项目。 HTML解析器

    2)在这一阶段,可以实现:a)通过Hibernate与数据库通信,以便存储元素的属性(例如,如果我们必须搜索多个元素,则这是必需的)。 b)一种最好的选择是通过比较属性的“相似性”进行搜索的新搜索算法。 3)我没有...

    spring杂谈 作者zhang KaiTao

    1.1 Spring事务处理时自我调用的解决方案及一些实现方式的风险 1.2 我对AOP的理解 1.3 Spring开闭原则的表现-BeanPostProcessor的扩展点-1 1.4 我对IoC/DI的理解 1.5 SpringMVC + spring3.1.1 + hibernate4.1.0 集成...

    Rest-Approach-to-Data-Persistence-R.A.D.A-

    -Hibernate 多对一映射不会更新外键 - 有一个在端点中使用的属性会很好,我们可以选择在 sql、nosql 或两者中持久化(目前它在 2 个数据库中持久化)同时)。 正如您所看到的,持久层的开发和维护本身就是一项

    java三大框架

    Spring也许称得上是个一站式解决方案,提供了一个典型应用所需要的大部分基础架构。它还涉及到了其他framework没有考虑到的内容。 尽管它仅仅是一个从2003年2月才开始的开源项目,但Spring有深厚的历史根基。 ...

    网上体育商城的设计与实现毕业设计答辩PPT.pptx

    简单来说,Hibernate是一个轻量级的ORM(对象关系映射)解决方案或java工具、Hibernate框架进行简化,用java开发应用程序与数据库的交互。Hibernate框架的主要优点是:比起JDBC,Hibernate没有很多复杂的SQL语句需要...

Global site tag (gtag.js) - Google Analytics