C# Dapper 基本使用 增删改查事务等
来源:互联网 发布:国外网络安全设备品牌 编辑:程序博客网 时间:2024/06/05 21:13
直接上代码,有空会上传Demo
using DapperTest.Models;using System.Collections.Generic;using System.Web.Http;using Dapper;using System.Data;using System.Data.SqlClient;using System.Linq;using System.Configuration;namespace DapperTest.Controllers{ public class HomeController : ApiController { #region 查询 /// <summary> /// 查询所有数据 /// </summary> /// <returns></returns> [HttpGet] public IHttpActionResult GetStudentList() { string conStr = ConfigurationManager.AppSettings["SqlConnStr"]; string sql = @"SELECT * FROM STUDENT"; using (IDbConnection conn = new SqlConnection(conStr)) { var result = conn.Query<StudentInfo>(sql).ToList(); return Ok(ReturnJsonResult.GetJsonResult(RequestResult.请求成功, result)); } } /// <summary> /// 查询指定ID单条数据(带参数) /// </summary> /// <returns></returns> [HttpGet] public IHttpActionResult GetStudentInfo(string ID) { string conStr = ConfigurationManager.AppSettings["SqlConnStr"]; string sql = @"SELECT * FROM STUDENT WHERE STUID in @STUID"; using (IDbConnection conn = new SqlConnection(conStr)) { var result = conn.Query<StudentInfo>(sql, new { STUID = ID }); return Ok(ReturnJsonResult.GetJsonResult(RequestResult.请求成功, result)); } } /// <summary> /// IN查询 /// </summary> /// <returns></returns> [HttpGet] public IHttpActionResult GetStudentInfos(string IDStr) { string conStr = ConfigurationManager.AppSettings["SqlConnStr"]; string sql = @"SELECT * FROM STUDENT WHERE STUID in @STUIDStr"; var IDArr = IDStr.Split(','); using (IDbConnection conn = new SqlConnection(conStr)) { var result = conn.Query<StudentInfo>(sql, new { STUIDStr = IDArr }); return Ok(ReturnJsonResult.GetJsonResult(RequestResult.请求成功, result)); } } /// <summary> /// 两表联合查询 /// </summary> /// <returns></returns> [HttpGet] public IHttpActionResult GetStudentAndClass() { string conStr = ConfigurationManager.AppSettings["SqlConnStr"]; string sql = @"SELECT * FROM STUDENT A JOIN CLASS B ON A.FK_CLASSID = B.ID"; using (IDbConnection conn = new SqlConnection(conStr)) { var result = conn.Query(sql); return Ok(ReturnJsonResult.GetJsonResult(RequestResult.请求成功, result)); } } #endregion #region 新增 /// <summary> /// 插入单条数据(带参数) /// </summary> /// <returns></returns> [HttpPost] public IHttpActionResult AddStudent() { string conStr = ConfigurationManager.AppSettings["SqlConnStr"]; string sql = @"INSERT INTO STUDENT (NAME,AGE,FK_CLASSID) VALUES (@NAME,@AGE,@CLASSID)"; StudentInfo student = new StudentInfo { Name = "恩格斯", Age = 55, FK_ClassID = 1 }; using (IDbConnection conn = new SqlConnection(conStr)) { var result = conn.Execute(sql, new { NAME = student.Name, AGE = student.Age, CLASSID = student.FK_ClassID }); return Ok(ReturnJsonResult.GetJsonResult(RequestResult.请求成功, result)); } } /// <summary> /// 插入单条数据(直接插入整个实体) /// </summary> /// <returns></returns> [HttpPost] public IHttpActionResult AddStudentInfo() { string conStr = ConfigurationManager.AppSettings["SqlConnStr"]; string sql = @"INSERT INTO STUDENT (NAME,AGE,FK_CLASSID) VALUES (@NAME,@AGE,@FK_CLASSID)"; StudentInfo student = new StudentInfo { Name = "马克思", Age = 55, FK_ClassID = 1 }; using (IDbConnection conn = new SqlConnection(conStr)) { var result = conn.Execute(sql, student); return Ok(ReturnJsonResult.GetJsonResult(RequestResult.请求成功, result)); } } /// <summary> /// 插入多条数据(实体) /// </summary> /// <returns></returns> [HttpPost] public IHttpActionResult AddStudentList() { string conStr = ConfigurationManager.AppSettings["SqlConnStr"]; string sql = @"INSERT INTO STUDENT (NAME,AGE,FK_CLASSID) VALUES (@NAME,@AGE,@FK_CLASSID)"; List<StudentInfo> list = new List<StudentInfo>(); for (int i = 0; i < 3; i++) { StudentInfo student = new StudentInfo { Name = "强森" + i.ToString(), Age = 55, FK_ClassID = 1 }; list.Add(student); } using (IDbConnection conn = new SqlConnection(conStr)) { var result = conn.Execute(sql, list); return Ok(ReturnJsonResult.GetJsonResult(RequestResult.请求成功, result)); } } /// <summary> /// 插入数据后返回自增主键 /// </summary> /// <returns></returns> [HttpPost] public IHttpActionResult AddReturnID() { string conStr = ConfigurationManager.AppSettings["SqlConnStr"]; string sql = @"INSERT INTO STUDENT (NAME,AGE,FK_CLASSID) VALUES (@NAME,@AGE,@CLASSID)"; StudentInfo student = new StudentInfo { Name = "恩格斯", Age = 55, FK_ClassID = 1 }; using (IDbConnection conn = new SqlConnection(conStr)) { sql += "SELECT SCOPE_IDENTITY()"; var result = conn.Execute(sql, new { NAME = student.Name, AGE = student.Age, CLASSID = student.FK_ClassID }); var id = conn.QueryFirstOrDefault<int>(sql, new { NAME = student.Name, AGE = student.Age, CLASSID = student.FK_ClassID }); return Ok(ReturnJsonResult.GetJsonResult(RequestResult.请求成功, id)); } } #endregion #region 更新 /// <summary> /// 使用实体更新 /// </summary> /// <returns></returns> [HttpPost] public IHttpActionResult UpdateStudetInfo() { string conStr = ConfigurationManager.AppSettings["SqlConnStr"]; string sql = @"UPDATE STUDENT SET NAME=@NAME,AGE=@AGE,FK_CLASSID=@FK_CLASSID WHERE STUID = @StuID"; StudentInfo student = new StudentInfo { StuID = 1, Name = "老夫子", Age = 59, FK_ClassID = 2 }; using (IDbConnection conn = new SqlConnection(conStr)) { var result = conn.Execute(sql, student); return Ok(ReturnJsonResult.GetJsonResult(RequestResult.请求成功, result)); } } /// <summary> /// 参数更新 /// </summary> /// <returns></returns> [HttpPost] public IHttpActionResult UpdateStudet(int ID) { string conStr = ConfigurationManager.AppSettings["SqlConnStr"]; string sql = @"UPDATE STUDENT SET NAME=@NAME,AGE=@AGE,FK_CLASSID=@FK_CLASSID WHERE STUID = @StuID"; using (IDbConnection conn = new SqlConnection(conStr)) { var result = conn.Execute(sql, new {NAME = "尼古拉斯赵四",AGE = 1,StuID = ID}); return Ok(ReturnJsonResult.GetJsonResult(RequestResult.请求成功, result)); } } #endregion #region 删除 public IHttpActionResult Delete(int ID) { string conStr = ConfigurationManager.AppSettings["SqlConnStr"]; string sql = @"DELETE STUDENT WHERE STUID = @StuID"; using (IDbConnection conn = new SqlConnection(conStr)) { var result = conn.Execute(sql, new { StuID = ID }); return Ok(ReturnJsonResult.GetJsonResult(RequestResult.请求成功, result)); } } #endregion #region 事务 [HttpPost] public IHttpActionResult AddStudentT() { string conStr = ConfigurationManager.AppSettings["SqlConnStr"]; string sql = @"INSERT INTO STUDENT (NAME,AGE,FK_CLASSID) VALUES (@NAME,@AGE,@CLASSID)"; StudentInfo student = new StudentInfo { Name = "恩格斯", Age = 55, FK_ClassID = 1 }; StudentInfo student2 = new StudentInfo { Name = "恩格斯2", Age = 55, FK_ClassID = 1 }; try { using (IDbConnection conn = new SqlConnection(conStr)) { IDbTransaction transaction = conn.BeginTransaction(); var result = conn.Execute(sql, student); var result1 = conn.Execute(sql, student2); transaction.Commit(); return Ok(ReturnJsonResult.GetJsonResult(RequestResult.请求成功, result)); } } catch (System.Exception) { throw; } } #endregion }}
阅读全文
1 0
- C# Dapper 基本使用 增删改查事务等
- 使用轻量级ORM Dapper进行增删改查
- C# SQL数据库的基础增删改查和事务
- 集合,增删改查,事务
- .net之ORM框架Dapper.net 之增删改查
- ibatis(基本增删改查)
- sql 基本增删改查
- mongodb基本增删改查
- hibernate_基本增删改查
- mysql 基本增删改查
- 增删查改基本操作
- 基本操作增删改查
- sql基本增删改查
- 基本的增删改查
- aj基本增删改查
- SQLite的使用完成增删改查等
- c# datagridview 增删查改
- c# access增删改查
- Gym
- Something About Python(numpy,pandas)
- 网易云对象存储获取私有对象下载链接打不开的问题
- MYSQL 存储过程异常处理 报错 错误代码: 1337
- beautifulSoup
- C# Dapper 基本使用 增删改查事务等
- 数据结构实验之查找五:平方之哈希表
- Android开源库——EventBus源码解析
- //编写一个学生类(Students),包括姓名(name)、性别(sex)、学号(num)、语文课(Chinese)、英语课(English)、 //数学课(Math)和平均值(avg),方法包括求
- C++ -- operator定义为friend function
- 一篇写的很好的XGBoost的博客(于简书转载)
- 哈希学习
- Android 封装工具类之吐司
- 简易航班订票系统