下面为dao 包更新段方法 代码
public void update(String username,User user) {
this.getHibernateTemplate().update(username, user);
}
下面为biz 业务层包 更新段方法代码
public void update(String username, User user) {
//调用DAO查询数据库,获得数据库里面的用户对象
String hql="update User set name=" + user.getName() + ",pass=" + user.getPass()
+ " where name=" + username;
User dbUser = userDAO.getUserByHql(hql);
}
下面为action 调用业务层 更新方法 然后执行跳转
public String update(){
try{
userBiz.update(username, user);
}catch(Exception e){
e.printStackTrace();
return "update";
}
return "update-success";
}
请问下:这样写 报错 Not supported for DML operations 说不支持数据库操作,请问应该怎么改,或者哪个好人的发个SSH框架(包括增删改查的最好)代码给我!先谢谢大家了!
------解决方案--------------------
String hql="update User set name=" + user.getName() + ",pass=" + user.getPass()
+ " where name=" + username;
User dbUser = userDAO.getUserByHql(hql);
这个是不是有问题?userDao 贴出来看看
------解决方案--------------------
hql语句的语法格式错误~
你既然都用了hibernate支持类,就别拼hql语句了,直接set属性值,再调用getHibernateTemplate().update(obj)就行了~
------解决方案--------------------

把getUserByHql改为executeBySql试试