<%@ Template Language="C#" TargetLanguage="Text" %>
<%@ Property Name="BaseNamespace" Type="String" %>
<%@ Property Name="SourceDatabase" Type="SchemaExplorer.DatabaseSchema" Category="Context" Description="Database that the documentation should be based on." %>
<%-- 要打印的表 --%>
<%@ Property Name="Table" Type="TableSchema" DeepLoad="True" Optional="False" Category="Context" Description="" %> <%@ Assembly Name="SchemaExplorer" %>
<%@ Assembly Name="System.Design" %>
<%@ Import Namespace="SchemaExplorer" %> using System;
using System.Collections.Generic;
using System.linq;
using System.Text;
using <%=BaseNamespace%>.Model;
using Dapper;
using MayHuan.Data;
using System.Collections; namespace <%=BaseNamespace%>.Services
{
public class <%= Table.Name%>Service:I<%= Table.Name%>
{
public bool Delete(M<%= Table.Name%> model)
{
using (var conn = DBCommon.GetConn())
{
conn.Open();
var a = conn.Execute(@"Delete from <%= Table.Name%> where OID=@OID", new { OID = model.OID });
conn.Close();
return a > 0;
}
} public bool Insert(M<%= Table.Name%> model)
{
using (var conn = DBCommon.GetConn())
{
conn.Open();
var a = conn.Execute(@"INSERT INTO <%= Table.Name%>
<%
System.Text.StringBuilder sbSql=new System.Text.StringBuilder();
%>
<% foreach(ColumnSchema col in Table.Columns){
if(!col.IsPrimaryKeyMember){
sbSql.AppendLine(col.Name+",");
}
}
%>
(<%=sbSql.ToString().Trim('\r','\n',',') %>)
VALUES
<%
sbSql.Clear();
foreach(ColumnSchema col in Table.Columns){
if(!col.IsPrimaryKeyMember){
sbSql.AppendLine("@"+col.Name+",");
}
}
%>
(<%=sbSql.ToString().Trim('\r','\n',',') %>)",
<%
sbSql.Clear();
foreach(ColumnSchema col in Table.Columns){
if(!col.IsPrimaryKeyMember){
sbSql.Append(col.Name+" = model."+col.Name+",");
}
}
%>
new { <%=sbSql.ToString().Trim(',') %> });
conn.Close();
return a > 0;
}
} public bool Update(M<%= Table.Name%> model)
{
using (var conn = DBCommon.GetConn())
{
conn.Open();
var a = conn.Execute(@"UPDATE <%= Table.Name%> SET
<%
sbSql.Clear();
foreach(ColumnSchema col in Table.Columns){
if(!col.IsPrimaryKeyMember){
sbSql.AppendLine(col.Name+"=@"+col.Name+",");
}
}
%>
<%=sbSql.ToString().Trim('\r','\n',',') %>
WHERE OID=@OID",
<%
sbSql.Clear();
foreach(ColumnSchema col in Table.Columns){
if(!col.IsPrimaryKeyMember){
sbSql.Append(col.Name+" = model."+col.Name+",");
}
}
%>
new { <%=sbSql.ToString().Trim(',') %>,OID = model.OID });
conn.Close();
return a > 0;
}
} public M<%= Table.Name%> GetModelByID(int id)
{
using (var conn = DBCommon.GetConn())
{
conn.Open();
var a = conn.Query<M<%= Table.Name%>>(@"select * from <%= Table.Name%> where OID=@OID", new { OID =id }).FirstOrDefault();
conn.Close();
return a;
}
} public Model.PageDataView<M<%= Table.Name%>> GetList(string companyName, int pageNum, int pageSize = 10)
{
var criteria = new PageCriteria();
criteria.CurrentPage = pageNum;
criteria.Fields = "a.*";
criteria.PageSize = pageSize;
criteria.PrimaryKey = "a.OID";
criteria.TableName = @"<%= Table.Name%> a"; string sqlFilter = "1=1";
if (!string.IsNullOrEmpty(companyName))
sqlFilter += string.Format(" and b.CompanyName like '%{0}%'", companyName);
criteria.Condition += sqlFilter; var r = DBCommon.GetPageData<M<%= Table.Name%>>(criteria); return r;
} }
}

  

dapper的增、删、查改的CodeSmith模板的更多相关文章

  1. WindowsForm 增 删 查 改

    首先是连接数据库  在数据库里写代码 建立一个数据库下面是代码 create database JinXiaoCun go use JinXiaoCun go create table users ( ...

  2. 【基础篇】js对本地文件增删改查--改

    前置条件: 1. 本地有安装node,点击传送门 项目目录: 1. msg.json内容 { "data": [ { "id": 1, "name&q ...

  3. 使用轻量级ORM Dapper进行增删改查

      项目背景 前一段时间,开始做一个项目,在考虑数据访问层是考虑技术选型,考虑过原始的ADO.NET.微软的EF.NH等.再跟经理讨论后,经理强调不要用Ef,NH做ORM,后期的sql优化不好做,公司 ...

  4. Dapper.Contrib——更加优雅地使用Dapper进行增删改查

    简介 Dapper是介于Entity framework与ADO的折中选择.既满足手写查询的高性能需求,又简化了数据库对象映射为内存对象的繁杂工作.Dapper.Contrib是对Dapper的进一步 ...

  5. Dapper进行增删改查 z

    http://www.cnblogs.com/huangkaiyan10/p/4640548.html 项目背景 前一段时间,开始做一个项目,在考虑数据访问层是考虑技术选型,考虑过原始的ADO.NET ...

  6. Sqlserver 增删改查----改

    --我们就以院系,班级,学生来举例. create TABLE [dbo].YuanXi ( Id ,) NOT NULL,--学校id 自增量 YuanXiName varchar() null, ...

  7. PHP数据库的 增 删 查

    一.匹配数据库登录 步骤: 1.做一个普通的登录界面,注意提交方式为post. <!--登录界面--> <form action="chuli.php" meth ...

  8. Dapper基本增删改查

    说明: 1.在using语句块中不用dbConnection.Open(),因为Execute方法中会Open,并且在执行完成会Close. 2.在Ado.Net中要手动Open,在Using语句块中 ...

  9. .net Core+Dapper MySQL增删改查

    新建一个用户表,以该有为例 1.Model层 public class TuiUsers { public int id { get; set; } public string userName { ...

随机推荐

  1. 使用jQuery开发一个带有密码强度检验的超酷注册页面

    在今天的jQuery教程中,我们将介绍如何使用jQuery和其它相关的插件来生成一个漂亮的带有密码强度检验的注册页面,希望大家喜欢! 相关的插件和类库 complexify - 一个密码强度检验jQu ...

  2. ffmpeg 中 swscale 的用法

    http://www.guguclock.com/2009/12/ffmpeg-swscale.html 如果想將某個PixelFormat轉換至另一個PixelFormat,例如,將YUV420P轉 ...

  3. SQL 解锁表

    http://www.cnblogs.com/chjf2008/archive/2012/11/21/2780787.html 最主要是找到最近使用工具或者应用连接过数据库的进程,关掉它就可以了.

  4. CSDN 2013年度博客之星评选——分享几张厦门杭州的美图

    亲爱的小伙伴们,作者在6号至20号,一直在休假中,出去也没带电脑,今天回家意外的发现自己有幸成为“CSDN 2013年度博客之星评选”的候选人,在此也谢谢各位小伙伴们的支持,谢谢CSDN的鼓励.我的投 ...

  5. [转]SpringMVC Controller&View数据传递

    Spring MVC3在controller和视图之间传递参数的方法:   一, 从controller往视图传递值, controller---->视图   1)简单类型,如int, Stri ...

  6. webpack+vue-loader 在单独.vue组件中使用sass-loader编译sass报错问题not a valid Win32 applictation

        如果webpack配置没有问题,在vue文件中编译sass/scss报上面的错误,大概是由于node-sass安装失败,重新卸载安装,   在国内安装node-sass失败的话,可以使用淘宝镜 ...

  7. url rewrite优化url的可读性

    1.下载urlrewrite,官方下载地址:http://tuckey.org/urlrewrite/ 2.解压缩文件,将jar放入项目,并创建urlrewrite.xml: 3.将filter添加到 ...

  8. PerfMap – 显示前端网站性能的热力图插件

    PerfMap 是用来分析前端性能,基于资源定时 API 生成网页资源加载的前端性能热图.热图的颜色和第一个毫秒值指示在什么时候页面的图像加载完毕,这是用户体验的一个很好的指标.括号中的第二个值是浏览 ...

  9. [linux]查看linux下端口占用

    netstat netstat -an | grep 23 (查看是否打开23端口) 查看端口占用情况的命令:lsof -i [root@www ~]# lsof -i COMMAND PID USE ...

  10. 《你不知道的javascript》一、函数作用域和块作用域

    函数中的作用域 所谓函数作用域,就是属于这个函数的全部变量都可以在整个函数的范围内使用及复用. function foo(a) { var b=a; function bar(c){ var c=b* ...