站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2EE 专题在hibernate3.0中怎么写更新的语句,谢谢

在hibernate3.0中怎么写更新的语句,谢谢

摘要: 在hibernate3.0中怎么写更新的语句,谢谢


在hibernate3.0中怎么写更新的语句,比如说我要把一个int 类型字段的值加上1,谢谢


个人作品,欢迎下载

Hibernate固强,然用之稍烦.近常思于此而略有心得,故作此小东东以简化之.限予之技而难逃龌龊之举,望各大虾批评指正

此套件虽然小,但是可以帮助你在实际项目中提高Hibernate的使用速度
下载地址为http://www.cd-accp.net/web/hbdao.rar

此套件主要用于帮助开发人员在Hibernate环境下开发数据访问层
为了使用此套件,你必须具备JDK1.5(或更高),并且设置你的编译器以支持5.0代码语法
此套件提供以下功能

1.多Hibernate配置文件的支持
2.可嵌套虚拟事务模型的支持
3.事务边界拓展功能的支持
4.事务隔离级别拓展功能的支持
5.数据访问类事务处理自动注入的支持

愿我的工作能减轻你的负担, 有问题可以反馈至BabyFish-CT@163.com, 祝使用愉快!
(接下来的时间里,我将仔细研究.NET的System.Reflect.Emit名字空间以推出NHibernate版本)

CSP提示
自本年2月开始,本人开始利用非常宝贵的下班后的休息时间, 开发一套Java Web框架(CSP);目前取得阶段性成果, 不久的将来便可和大家碰面

这套Java Web架构提供如下功能

1.服务端的非常像ASP.NET,提供基于视图控件的属性/事件编程模型
2.服务端效防ASP.NET的__VIEWSTATE技术,实现页面的有状态化
3.服务端效防ASP.NET1.1中的模板和数据绑顶功能,以及ASP.NET2.0中的母板功能
4.服务端前台代码使用严格遵循Schema验证的XML书写,Schema验证结构可扩展.支持解析结果的缓冲和热加载功能
5.客户端完全使用Ajax技术实现,所有的UI元素由Javascript动态生成
6.客户端支持__VIEWSTATE隐藏字段信息的拆分和合并,在局部提交的情况下仍然配合全程的服务端工作
7.客户端支持JavaScript文件的按需延迟下载,以达到下载的最小化

如果不出意外.不久后此框架会发行面世,届时望四方朋友捧场



如果有问题可以反馈到我的信箱BabyFish-CT@163.com, 谢谢你对本文挡的阅读
陈涛,2006-10-17日于北大青鸟(成都名流)



session.update()


/**
* 修改记录
* @param Info info
*/
public void modifyInfo(Info info) throws Exception {
getHibernateTemplate().update(info);
}


楼上两位写的我看不明白了,能不能写的详细点
比如说有两个字段表dd
dd(id int,
num int)
我想把id号为3的num字段加1要怎么写,谢谢


这么简单的问题都没人说一下吗,谁写出来我把分数全给他


假设有User UserDAO
要修改User里面的数据
userDAO..attachDirty(user);
这样可以实现对User中数据的修改


可能是我没说清楚吧,不好意思,
我这个修改的语句是写在一个action里的
比如说在action里查找的语句是这样写的
Query query=session.createQuery("from TbLink as t");

那修改的语句是怎么写的呢
谢谢了


给你举个例子:
---------------------------
//DAO
public interface IExamNameDAO {

public abstract List query();

public abstract ExamName findByPrimaryKey(String pk);
}

//DAO imp
public class ExamNameDAO extends HibernateDaoSupport implements IExamNameDAO {

public ExamName findByPrimaryKey(String pk) {
List result = getHibernateTemplate().find(" from ExamName t where pk = ?",pk);
if (result.size() >0){
return (ExamName) result.get(0);
}
return null;
}

public void save(ExamName transientInstance) {
getHibernateTemplate().saveOrUpdate(transientInstance);
}


//修改记录的action
public class EditExamNameAction extends Action {

private IExamNameService examNameService;

public IExamNameService getExamNameService() {
return examNameService;
}

public void setExamNameService(IExamNameService examNameService) {
this.examNameService = examNameService;
}

// --------------------------------------------------------- Instance Variables

// --------------------------------------------------------- Methods

/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {
DynaValidatorForm editExamNameForm = (DynaValidatorForm) form;

String year = editExamNameForm.getString("year");
String term = editExamNameForm.getString("term");
String name = editExamNameForm.getString("name");
String pk = editExamNameForm.getString("pk");

ExamName examName = examNameService.findByPrimaryKey(pk);
examName.setYear(year);
examName.setTerm(term);
examName.setName(name);
examNameService.save(examName);

List result = examNameService.query();
request.setAttribute("QueryObject",result);
return mapping.findForward("examnameIndexGo");

}


}



还是不明白,楼上好象是用ejb的吧,我是要用hibernate3.0的语句的


先把那个id 为3的纪录查出来,
BB bb = (BB)getHibernateTemplate().loadById(3,BB.class);
更改bb的属性,
bb.setNum(4);
保存,
getHibernateTemplate().update(bb);
OK..



晕了,怎么会是EJB呢。。是面向接口的编程方式,建议你去看下DAO,是怎么回事?
更新数据的步骤就是:
1、按关键字查询构造对象
2、使用对象的set方法去赋值
3、调用DAO的save方法保存数据。


↑返回目录
前一篇: J2EE SDK 5安装问题
后一篇: 页面跳转的显示效果?