大家好,小弟刚学hql语句,下面这个该怎么写啊?public boolean save(User user)
{
  String hql=  insert into Users values(name,pass,email);
  
}就是大括号里面的该怎么写呢?

解决方案 »

  1.   

    你是想干什么呢?
    用HQL就是去执行而已。
    可以用原始的session来操作;也可以用Spring和Hibernate框架来操作。下面教你用这两个框架操作。
    public class ClassName extends HibernateDaoSupport {
        private String hql = "insert into Users(name,password,email) values(?,?,?)";
        public void methodName(String name, String password,String email){
            try {
                getHibernateSession.update(hql, new Object[]{name,password,email});
            catch(Exception e){
                System.out.println("hql语句错误!");
            }
        }
    }你的语句不规范,而且估计你对数据库的理解很有问题,所以你一定要加油!
      

  2.   

    我是想做一个Ajac做一个用户注册功能。jsp中的代码是这样的:
    <script type="text/javascript">
    function saveUsers()
    {
    var uname=document.myForm.name.value;
    var pass=document.myForm.password.value;
    var email=document.myForm.email.value;
    //alert(uname);
    var oneUser={};
    oneUser.name=uname;
    oneUser.upass=pass;
    oneUser.email=email;
    hello.save(oneUser,jianyan);
    }
    function jianyan(zhi)
    {
    if(zhi=="true")
    {
    alert("注册成功!");
    }else
    {
    alert("注册失败!");
    }
    }
    </script>
      </head>
      
      <body>
       <form name="myForm">
    姓  名:<input type="text" name="name"><br>
    口  令:<input type="password" name="password"><br>
    电子邮件:<input type="text" name="email"><br>
    <input type="button" name="submitBtn" value="提交" onclick="saveUsers()"><br>
        </form>
    可是Hibernate的save()返回的是一个void ,所以我想自己写一个。是不是还有更好的办法呢大哥?
    如果没有或有,那下面大括号里的HQL语句用 :操作符该怎么写呢?谢谢了!!
    public boolean save(User user) 

      String hql=  insert into Users values(:name,:pass,:email);//是这样吗?哪里错了? 
      
      

  3.   

    session.save(user);
    就这样。。
      

  4.   

    他返回的是void,那Ajax中的回调函数:
    hello.save(oneUser,jianyan); 

    function jianyan(zhi) 

    需要的是返回一个boolean类型的,该怎么办呢?
      

  5.   

    hibernate的save只有void和抛异常,java函数里面处理一下返回值
      

  6.   

    你需要给User类的每个属性设置值.
    例如:
    User u=new User();
    u.setId(1);
    就这样依次设置完,以后
    需要定义一个Session 对象.
    把设置好的对象保存在session中,
    session.save(u);然后提交事务就可以,插入数据了.
      

  7.   


    this.getSession().beginTransaction().begin();
    this.getSession().update(cc);
    this.getSession().getTransaction().commit();别忘记提交啦
    catch后回滚
      

  8.   

    public boolean save(User user) 

      dao.save(user);   

      

  9.   

    HQL 是hibernate查询语言
      

  10.   

    楼主没有理解hibernate,数据库中的一条记录,实际被映射成了一个java实体对象,对数据库记录的增、删、查、改转化成了dao数据操纵对象对实体对象的持久化,既然User这个实体对象已经初始化了,直接调用hibernate的session的save方法save这个实体对象就行了,正如7楼所说,只是要注意事务控制,通常情况下,一般采用spring来进行hibernate的事务控制。
      

  11.   

    问题很简单,如果你想要返回值,你自己用本地SQL语句写就可以了,不用非得拘泥于用HQL语句。
    因为structs也支持本地SQL。
      

  12.   

    声明一个boolean值初始化为true,没保存成功肯定进入catch中改写成false,finally中返回不就行了