ssi mybatis 调用sqlserver存储过程的问题。

sdu_hanson 2016-01-14 03:09:54
rt,
我的sqlmap:

<select id="procGetUser" statementType="CALLABLE"
resultType="evcs.model.User">
{ call getUserProc ()}
</select>


我的java调用:

User us= new User();
SqlSession session= getSqlSession();
us = (User)session.selectOne("UserMapper.procGetUser");


我的存储过程
[code=sql][/
CREATE procedure [dbo].[getUserProc]
AS
select
* FROM
evcsdb.dbo.[User]
WHERE username ='wzl' collate Chinese_PRC_CS_AI
and password='wzl' collate Chinese_PRC_CS_AI;

GO
code]


但是一直调用不成功提示如下错误信息:

### Error querying database. Cause: com.microsoft.sqlserver.jdbc.SQLServerException: '@P0' 附近有语法错误。
### The error may exist in evcs/data/UserSqlMap.xml
### The error may involve UserMapper.procGetUser-Inline
### The error occurred while setting parameters
### SQL: call getUserProc (?,?)


这是什么问题?
...全文
217 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
心随自在飞 2016-01-14
  • 打赏
  • 举报
回复
问题:在分页查询时,使用top 出现 '@P0' 附近有语法错误。 查看sql语句,尤其是用到#和$等进行赋值的,区分开到底是用#还是$ SELECT TOP #pageSize# * FROM t_employee WHERE (ID NOT IN (SELECT TOP #pagetemp# id FROM t_employee ORDER BY id desc)) ORDER BY ID desc 改成:$ sqlserver 使用top后跟的数字不能绑定,只能拼接! ibatis文档说明: 简单动态SQL元素 虽然动态Mapped Statement API功能强大,但有时仅需要一小部分的动态SQL即可。为此,SQL statement和statement都可以包含简单的动态SQL元素,以帮助实现动态的order by子句,动态的查询字段或SQL语句的其他动态部分。简单动态SQL元素的概念有点象inline parameter的映射,但使用了稍微不同的语法。考虑下面的例子: <statement id=”getProduct” resultMap=”get-product-result”> select * from PRODUCT order by $preferredOrder$ </statement> 上面的例子中,preferredOrder动态元素将被参数对象的preferredOrder属性值替换(象parameter map一样)。不同的是,它从根本上改变了SQL语句本身,比仅仅简单地改变参数值严重得多。在这样的动态SQL语句中,错误可能会引起安全,性能和稳定性的风险。因此,应细心检查,以确保简单动态SQL元素使用的正确。另外,还要留意您的设计,以防数据库细节对业务逻辑对象模型造成不好的影响。例如,不应因为要使用order by子句,而将一个数据字段名作为业务对象的属性,或作为JSP页面的一个域的值。 借鉴:博客
sdu_hanson 2016-01-14
  • 打赏
  • 举报
回复
引用 1 楼 xiesq5112 的回复:
第一,你要保证你的存储过程是对的。 第二,检查一下你的参数!
都没问题啊
心随自在飞 2016-01-14
  • 打赏
  • 举报
回复
第一,你要保证你的存储过程是对的。 第二,检查一下你的参数!

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧