函数 说明
Execute IDbCommand.ExecuteNonQuery,执行返回受影响行数
ExecuteScalar IDbCommand.ExecuteScalar,执行并返回查询返回的ReultSet中第一行的第一列
Query 执行返回实体列表
QuerySingle 执行返回单个实体
GetDataTable 执行返回DataTable
GetDataSet 执行返回DataSet
BeginTransaction 开启事务
CommitTransaction 提交事务
RollbackTransaction 回滚事务
  1. <Statement Id="Insert">
  2. INSERT INTO T_User
  3. (UserName
  4. ,Password
  5. ,Status
  6. ,LastLoginTime
  7. ,CreationTime)
  8. VALUES
  9. (?UserName
  10. ,?Password
  11. ,?Status
  12. ,?LastLoginTime
  13. ,?CreationTime)
  14. ;Select Last_Insert_Id();
  15. </Statement>
  1. ISmartSqlMapper SqlMapper = MapperContainer.Instance.GetSqlMapper();
  2. long userId = _smartSqlMapper.ExecuteScalar<long>(new RequestContext
  3. {
  4. Scope = "User",
  5. SqlId = "Insert",
  6. Request = new User
  7. {
  8. UserName = request.UserName,
  9. Pwd = request.Pwd,
  10. Status = Entitiy.UserStatus.Ok,
  11. CreationTime = DateTime.Now,
  12. }
  13. });
  1. SqlMapper.Execute(new RequestContext
  2. {
  3. Scope = "User",
  4. SqlId = "Insert",
  5. Request = new User
  6. {
  7. UserName = request.UserName,
  8. Pwd = request.Pwd,
  9. Status = Entitiy.UserStatus.Ok,
  10. CreationTime = DateTime.Now,
  11. }
  12. });
  1. <Statement Id="Delete">
  2. Delete FROM T_User
  3. Where Id=?Id
  4. </Statement>
  1. SqlMapper.Execute(new RequestContext
  2. {
  3. Scope = "User",
  4. SqlId = "Delete",
  5. Request = new { Id = 3 }
  6. });
  1. <Statement Id="Update">
  2. UPDATE T_User
  3. <Set>
  4. <IsProperty Prepend="," Property="UserName">
  5. UserName = ?UserName
  6. </IsProperty>
  7. <IsProperty Prepend="," Property="Password">
  8. Password = ?Password
  9. </IsProperty>
  10. <IsProperty Prepend="," Property="Status">
  11. Status = ?Status
  12. </IsProperty>
  13. <IsProperty Prepend="," Property="LastLoginTime">
  14. LastLoginTime = ?LastLoginTime
  15. </IsProperty>
  16. <IsProperty Prepend="," Property="CreationTime">
  17. CreationTime = ?CreationTime
  18. </IsProperty>
  19. </Set>
  20. Where Id=?Id
  21. </Statement>
  1. SqlMapper.Execute(new RequestContext
  2. {
  3. Scope = "User",
  4. SqlId = "Update",
  5. Request = new User
  6. {
  7. Id=1,
  8. UserName = request.UserName,
  9. Pwd = request.Pwd,
  10. Status = Entitiy.UserStatus.Ok,
  11. CreationTime = DateTime.Now,
  12. }
  13. });
  1. SqlMapper.Execute(new RequestContext
  2. {
  3. Scope = "User",
  4. SqlId = "Update",
  5. Request = new { Id=1 , Pwd = "SmartSql" }
  6. });
  1. <Statement Id="Query">
  2. SELECT T.* From T_User T
  3. <Where>
  4. <IsNotEmpty Prepend="And" Property="EqUserName">
  5. T.UserName=$EqUserName
  6. </IsNotEmpty>
  7. <IsNotEmpty Prepend="And" Property="UserName">
  8. T.UserName Like Concat('%',$UserName,'%')
  9. </IsNotEmpty>
  10. </Where>
  11. <Switch Prepend="Order By" Property="OrderBy">
  12. <Default>
  13. T.Id Desc
  14. </Default>
  15. </Switch>
  16. <IsNotEmpty Prepend="Limit" Property="Taken">?Taken</IsNotEmpty>
  17. </Statement>
  1. var list = SqlMapper.Query<User>(new RequestContext
  2. {
  3. Scope = "User",
  4. SqlId = "Query",
  5. Request = new
  6. {
  7. Taken = 10
  8. }
  9. });
  1. <Statement Id="GetEntity">
  2. Select T.* From T_User T
  3. <Where>
  4. <IsNotEmpty Prepend="And" Property="Id">
  5. T.Id=?Id
  6. </IsNotEmpty>
  7. </Where>
  8. Limit 1
  9. </Statement>
  1. var user = SqlMapper.QuerySingle<User>(new RequestContext
  2. {
  3. Scope = "User",
  4. SqlId = "GetEntity",
  5. Request = new { Id = 1 }
  6. });
  1. try
  2. {
  3. SqlMapper.BeginTransaction();
  4. //BizCode();
  5. SqlMapper.CommitTransaction();
  6. }
  7. catch (Exception ex)
  8. {
  9. SqlMapper.RollbackTransaction();
  10. throw ex;
  11. }
  1. DbParameterCollection dbParameterCollection = new DbParameterCollection();
  2. dbParameterCollection.Add(new DbParameter
  3. {
  4. Name = "Total",
  5. DbType = System.Data.DbType.Int32,
  6. Direction = System.Data.ParameterDirection.Output
  7. });
  8. RequestContext context = new RequestContext
  9. {
  10. CommandType = System.Data.CommandType.StoredProcedure,
  11. RealSql = "SP_QueryByPage",
  12. Request = dbParameterCollection
  13. };
  14. var list = SqlMapper.Query<User>(context);
  15. var total = dbParameterCollection.GetValue<int>("Total");

版权声明:本文为Ahoo-Wang原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/Ahoo-Wang/p/SmartSql-quick-use-intro.html