使用的是 IBatis.DataMapper.1.6.2
首先看下映射文件配置:
<insert id="InsertProject" resultClass="IStrong.Config.Tool.Models.ProjectModel">
insert into STRONG_Project (name, areacode, customer, remark)values(#Name#,#AreaCode#,#Customer#,#Remark#)
<selectKey type="post" resultClass="int" property="Id">
SELECT CAST(@@IDENTITY as int) as Id
</selectKey>
</insert>
然后是我们的代码:
public object CreateProject(ProjectModel project)
{
ISqlMapper instance = Mapper.Instance();
int id = (int)instance.Insert("InsertProject", new ProjectModel
{
Name = project.Name,
Remote = project.Remote,
Remark = project.Remark,
AreaCode = project.AreaCode,
Customer = project.Customer
});
return id;
}
配置里面的 SELECT CAST(@@IDENTITY as int) as Id 这个Id必须是代码里面的ProjectModel类的一个属性, instance.Insert() 方法里的第二个参数不能使匿名类, 除非不需要查找你插入的ID。