使用iBATIS生成DAO问题
我在 MSSQL 中创建了一个具有以下结构的表 -
**Table Name - TestTable**
id (int) (Primary key)
name (varchar)
owner (varchar)
我为列“id”给出了身份规范,每个新行自动递增 1。当我为 TestTable 创建 iBatis 工件时,会在 DAO 中生成带有以下签名的插入函数 -
void insert(TestTable record);
我希望插入函数返回该行新生成的“id”,而不是 void。
如何实现这一目标?
I have created a table in MSSQL having following structure -
**Table Name - TestTable**
id (int) (Primary key)
name (varchar)
owner (varchar)
I have given Identity specification for column 'id' with auto increment with 1 for each new row. When I created iBatis artifacts for TestTable, the insert function is getting generated, in the DAO, with following signature -
void insert(TestTable record);
I want the insert function to return the newly generated 'id' for that row, instead of void.
How to achieve this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在 ibatis SqlMap 文件中,添加以下内容:
或者,您可以将 Select Scope_identity 替换为另一个旨在返回最后插入的标识列的 SQL 查询。 Scope_identity 特定于 MS SQL(如问题中所要求的)。
In your ibatis SqlMap file, add the following:
Or you could replace Select Scope_identity with another SQL query designed to return the last identity column inserted. The Scope_identity is specific to MS SQL (as requested in the question).