hibernate 调用存储过程的问题

2019-03-25 13:48|来源: 网路

问题如下

public Account queryByaccount1(String account) throws SQLException {
          Account acc = null;
Connection conn = this.getConnection();
PreparedStatement st = conn.prepareStatement("{call account_ExistUser(?)}");
st.setString(1, account);
ResultSet rs = st.executeQuery() ;

                           
//怎样将rs里的数据写入acc中,下面是我写的,可是不行!请问怎么写?
                                  while(rs.next())
{
acc.setId(rs.getInt(1));
acc.setUsername(rs.getString(2));
acc.setpwd(rs.getString(3));
}

return acc;
 
}
如果可以的话,给个完整的例子~~~ 谢谢了~~~~
 
问题补充:
我看了,可是不是很明白~~
请lovewhzlq (资深架构师) 能以我这个例子写一次麽?~`
根据用用户名account取得数据库的这条内容。
``

相关问答

更多
  • 在oracle中,可以在数据库中定义子程序,这种程序块叫存储过程(procedure),它存放在数据字典中,可以在不同用户和应用程序中共享,并可以实现程序的优化和重用。 2:存储过程的有点?? 过程运行在服务器端,执行速度快? 过程执行一次后代码就驻留在高速缓存中,在以后的操作中,直接调用缓存数据。? 确保数据库的安全性,可以不授权用户直接访问应用程序中的一些表,而是授权用户执行访问数据库的过程。? 自动完成需要预先执行的任务,过程可以在系统启动时自动运行。、 3:存储过程的创建和执行用户存储过程只能定义在 ...
  • 您的问题与发送参数参数的方式有关。 代替: list = getHibernateTemplate().findByNamedQueryAndNamedParam("callprocLogin", "username,password", param); 你应该有: list = getHibernateTemplate().findByNamedQueryAndNamedParam( "callprocLogin", new String[] {"username", "passwor ...
  • NHibernate可以映射到sprocs而不是表格 如果愿意,您可以将读取操作映射到表格/视图并将插入/更新/删除操作映射到sprocs NHibernate确实生成了参数化的SQL,即没有SQL注入的机会 如果您决定映射到表格和/或视图,则用户权限总是可以限制在某些表上的某些操作 大多数使用sprocs的项目首先为每个表生成CRUD过程,并为它们分配执行权限 - 这并不比访问表访问更安全 NHibernate can map to sprocs instead of tables You can map ...
  • 我相信你错误地声明了对存储过程的调用(缺少大括号),试试这个: @NamedNativeQuery( name = "getLoginDet", query = "{call GET_LOGIN_DET(?,:userId)}", resultClass = Login.class hints = {@QueryHint(name = "org.hibernate.callable", value = "true")}) @Entity @ ...
  • 它似乎与此处描述的类似问题https://hibernate.atlassian.net/browse/HHH-610 解决方法是使用文档http://docs.jboss.org/hibernate/orm/4.1/devguide/en-US/html_single/#querysql-load中所述的@Loader 为Hotel类添加以下注释修复了问题@Loader(namedQuery =“fetchHotel”) It seems its similar issue as described he ...
  • 你有什么期望? 您的SP从SELECT查询返回ResultSet ,10条记录。 SQL本身只返回值, 而不是字段名... 还有更多 - 为什么要创建一个返回ResultSet的SQL函数? What did you expect? Your SP is returning ResultSet from SELECT query, 10 records. SQL by itself only returns values, not field names... Further more - why do y ...
  • 您可以使用自己的SQL来插入,更新,删除甚至从数据库中选择数据。 但对这些论点有明确的期望。 exec createPerson ?, ? exec de ...
  • 看起来它正在解析:text和另一个作为命名参数,即使你正在尝试使用位置参数。 您可以修改查询以使用CAST而不是:: shorthand。 Looks like it's parsing :text and the other as a named parameter, even though you're trying to use positional parameters. You could modify the query to use CAST instead of the :: shortha ...
  • 如果你要将对象映射到表,Hibernate是有意义的。 我不知道HQL如何让你受益。 我会考虑使用JDBC或Spring JDBC。 Hibernate makes sense if you're going to map objects to tables. I don't see how HQL can benefit you otherwise. I would look into JDBC or Spring JDBC instead.
  • 根据文档,该过程必须返回一个结果集,并应该像这样调用: { ? = call procedureName() } 所以请尝试以下方法: