本帖最后由 CoffeePhoton 于 2011-02-19 23:42:07 编辑

解决方案 »

  1.   

    sql语句严谨手动去拼.
    一般第二种用的多.
    但如果自己需要写sql生成工具的话,当然还是拼.但用hibernate,当然是用参数传递进去.
      

  2.   

    坚决的使用第二种,防止SQL注入攻击
      

  3.   


    那请问楼上两位:SSH框架下hibernate特有的方法super.getHibernateTemplate().find("")有啥用呢?
      

  4.   

    一、find(String queryString);     示例:this.getHibernateTemplate().find("from bean.User");     返回所有User对象二、find(String queryString , Object value);     示例:this.getHibernateTemplate().find("from bean.User u where u.name=?", "test");     或模糊查询:this.getHibernateTemplate().find("from bean.User u where u.name like ?", "%test%");     返回name属性值为test的对象(模糊查询,返回name属性值包含test的对象)三、find(String queryString, Object[] values);     示例:String hql= "from bean.User u where u.name=? and u.password=?"               this.getHibernateTemplate().find(hql, new String[]{"test", "123"});     返回用户名为test并且密码为123的所有User对象
      

  5.   

    坚决使用第二种   防止sql注入  安全性高
      

  6.   


    原来这才是find("")方法的真正用法,多谢了,感激不尽!